Sparkle μ MacOS μ© μννΈμ¨μ΄ μ
λ°μ΄νΈλ₯Ό μν μ€ν μμ€ νλ μ μν¬μ΄λ€.
ν΄λΉ κ΄λ ¨ νμΌμ μλ μ¬μ΄νΈμμ μ λ³΄λ° κ΄λ ¨ νμΌμ λ€μ΄ λ°μ μ μλ€.
https://sparkle-project.org
μ°Έκ³ λ‘ Sparkle μ μλμ° μ©λ μλ€.
https://winsparkle.org/
λκ°μ§ κ²½μ° OS νκ²½μ μ°¨μ΄κ° μμ΄μ μ¬μ©λ²μμλ μ‘°κΈ μ°¨μ΄κ° μμ§λ§ κ°μ κΈ°λ₯μ μ 곡νλ€.
μ¬κΈ°μ μ€λͺ
μ MacOSλ₯Ό κΈ°μ€μ΄λ€.
λ€μ΄λ‘λ νμΌμ λ€μ΄ν
Sparkle.framework ν΄λ μ 체λ₯Ό λ QT κ°λ° νκ²½μ lib ν΄λμ λ³΅μ¬ ν΄μ£Όλ©΄ λλ€.
μ΅μ λ²μ μ Sparkle μμλ DSA μλͺ
μμ EdDSA μκ³ λ¦¬μ¦μΌλ‘ λ³κ²½ λμλ€.
EdDSA ν€ μμ±μ μλ λͺ
λ Ήμ΄λ₯Ό μ€ννλ©΄ λλλ° κ°μΈν€λ MacOS μ KeyChain μΌλ‘ λ€μ΄ κ°λ€.
EdDSA ν€ μμ±
./bin/generate_keys
κ²°κ³Ό μμ
<key>SUPublicEDKey</key>
<string>pfIShU4dEXqPd5ObYNfDBiQWcXozk7estwzTnF9BamQ=</string>
νλ² μμ±μ νκ³ λμ λ€μ μ€νμ ν΄λ κ³μ κ°μ 곡κ°ν€ κ°μ΄ λμ¨λ€.
μλ§λ μ²μμλ μλ‘ ν€ μμ μμ±νμ§λ§ νλ² μμ± λλ©΄ ν€μ λν 곡κ°ν€ μ λ³΄λ§ νμνλκ±Έλ‘ λ³΄μΈλ€.
μ΄ κ³΅κ°ν€ κ°μ ν΄λΉ ν¨ν€μ§μ info.plist νμΌμ μΆκ° λμ΄μΌ νλ€.
κ·Έλ¦¬κ³ info.plist μ 보μλ
SUFeedURL μ 보μ CFBundleVersion μ λ³΄κ° μΆκ° λμ΄μΌ νλ€.
info.plist μμ
<key>CFBundleVersion</key>
<string>1.4.7</string>
<key>CFBundleSignature</key>
<string>hbwr</string>
<key>SUFeedURL</key>
<string>https://jykim74.github.io/appcast/bereditor_appcast_mac.xml</string>
<key>SUPublicEDKey</key>
<string>TLJn+zNF8t6SpCGDfDjjKEJGnv40yVGKJrK1XBhyVKo=</string>
EdDSA μλͺ
./bin/sign_update path_to_your_update.(zip|dmg|tar.*)
μ¬κΈ°μ path_to_you_update.(zip|dmg|tar) λ± μλͺ
λμ νμΌμ μ μ© ν΄μ£Όλ©΄ λλ€.
κ·Έλ¦¬κ³ μ΄ λͺ
λ Ή μ€ν κ²°κ³Ό κ°μ appcast.xml νμΌμ μΆκ° ν΄ μ£Όμ΄μΌ νλ€.
appcast.xml μ μ© μμ
<enclosure url="[https://example.com/downloads/app.zip.or.dmg.or.tar.etc](https://example.com/downloads/app.zip.or.dmg.or.tar.etc)"
sparkle:edSignature="7cLALFUHSwvEJWSkV8aMreoBe4fhRa4FncC5NoThKxwThL6FDR7hTiPJh1fo2uagnPogisnQsgFgq6mGkt2RBw=="
length="1623481"
type="application/octet-stream" />
μλλ μΆκ° μ½λ μλͺ κ΄λ ¨ λͺ λ Ήμ΄μ΄λ€.
App μλͺ
codesign --force --deep --sign - /Applications/BerEditor.app
νΉμλ GateKeeper λ₯Ό λκΈ° / μΌκΈ°λ μλ λͺ λ Ήμ΄λ₯Ό μ°Έμ‘° νλ€.
GateKeeper λκΈ°
sudo spctl --master-disable
GateKeeper μΌκΈ°
sudo spctl --master-enable
νμ¬ κΉμ§λ μ
λ°μ΄νΈ λμ€ SIG ABORT λ°μ ν¨
μ½λ μ¬μΈμ΄ λμ΄ μμ§ μμμ μκΈ°λ λ¬Έμ λΌκ³ μκ°λλλ°
μΆν AppleID λ‘ μΈμ¦μ λ°κΈ ν μ½λ μλͺ
ν ν
μ€νΈλ₯Ό ν΄ λ³Ό νμκ° μμ
μ½λ μλͺ
μ΄ μλμ΄μ μ£½λκ² λ§λμ§ μλ λ΄κ° μλͺ» μ¬μ©νλ κ±΄μ§ μμ§ μ ννμ§κ° μλ€μ..
νΉμ Apple ID μμ΄λ ν μ€νΈ ν΄ λ³Όμ μλμ§ μμλλΆ μ’ μλ €μ£ΌμΈμ..
'Development' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
QT 리λ μ€ Deploy λ°©λ² (0) | 2023.11.20 |
---|---|
Qt5 μμ Qt6 λ³κ²½ μμ λ΄μ© (0) | 2023.10.06 |
[Qt5] MySQL(MariaDB) Driver μΈμ μν€κΈ° ( μλμ° νκ²½ ) (0) | 2023.07.31 |
#define 맀ν¬λ‘ μ¬μ©λ² (0) | 2023.06.09 |
μ κ· ννμ μ¬μ©λ² μ 리 (0) | 2023.05.26 |