diff --git a/.gitignore b/.gitignore
index 5151bab..e98f8c2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,6 +17,14 @@ DerivedData/
## XcodeGen
# Entsteht aus project.yml, siehe README — bewusst nicht eingecheckt.
*.xcodeproj
+
+## Sparkle-Tools
+# generate_keys/sign_update aus der offiziellen Release-Distribution,
+# lokal heruntergeladen (siehe scripts/publish-release.sh) — kein Quellcode.
+/bin/
+
+## Release-Artefakte
+dist/
*.moved-aside
*.pbxuser
!default.pbxuser
@@ -101,7 +109,7 @@ iOSInjectionProject/
.LSOverride
# Icon must end with two \r
-Icon
+Icon
# Thumbnails
._*
diff --git a/Sources/DropTwo/Info.plist b/Sources/DropTwo/Info.plist
index 5370cd8..129da75 100644
--- a/Sources/DropTwo/Info.plist
+++ b/Sources/DropTwo/Info.plist
@@ -26,5 +26,11 @@
NSHumanReadableCopyright
(c) Samuel Zielke
+ SUEnableAutomaticChecks
+
+ SUFeedURL
+ https://update.zielke.studio/droptwo/appcast.xml
+ SUPublicEDKey
+ 2Oe3MbYRBVMMm0EtwTdZaHVKGOOIzgBWfI94CFkPQOg=
diff --git a/project.yml b/project.yml
index e257cc1..440728d 100644
--- a/project.yml
+++ b/project.yml
@@ -11,20 +11,21 @@ settings:
SWIFT_VERSION: "5.9"
MARKETING_VERSION: "0.1.0"
CURRENT_PROJECT_VERSION: "1"
- # Ad-hoc-Signatur: laeuft lokal auf dem eigenen Rechner, braucht keine Team-ID.
- # Fuer den ersten echten Release auf Manual + DEVELOPMENT_TEAM umstellen.
- CODE_SIGN_STYLE: Automatic
- CODE_SIGN_IDENTITY: "-"
configs:
+ Debug:
+ # Ad-hoc-Signatur: laeuft lokal auf dem eigenen Rechner, braucht keine Team-ID.
+ CODE_SIGN_STYLE: Automatic
+ CODE_SIGN_IDENTITY: "-"
Release:
ENABLE_HARDENED_RUNTIME: YES # Pflicht fuer die Notarisierung
+ CODE_SIGN_STYLE: Manual
+ CODE_SIGN_IDENTITY: "Developer ID Application"
+ DEVELOPMENT_TEAM: XY4C2RG3L5
-# Sparkle kommt erst in Schritt 6 dazu. Bis dahin auskommentiert --
-# das haelt fruehe Builds schnell und die Signierung unkompliziert.
-# packages:
-# Sparkle:
-# url: https://github.com/sparkle-project/Sparkle
-# from: "2.6.0"
+packages:
+ Sparkle:
+ url: https://github.com/sparkle-project/Sparkle
+ from: "2.10.0"
targets:
@@ -46,7 +47,7 @@ targets:
- Sources/DropTwo
dependencies:
- target: DropTwoCore
- # - package: Sparkle
+ - package: Sparkle
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: dev.zielke.droptwo
@@ -60,10 +61,9 @@ targets:
LSMinimumSystemVersion: "13.0"
LSUIElement: false # true = reiner Menu-Bar-Betrieb ohne Dock-Icon
NSHumanReadableCopyright: "(c) Samuel Zielke"
- # Sparkle-Schluessel und Feed-URL folgen in Schritt 6:
- # SUFeedURL: https://.../droptwo/appcast.xml
- # SUPublicEDKey: ...
- # SUEnableAutomaticChecks: true
+ SUFeedURL: https://update.zielke.studio/droptwo/appcast.xml
+ SUPublicEDKey: 2Oe3MbYRBVMMm0EtwTdZaHVKGOOIzgBWfI94CFkPQOg=
+ SUEnableAutomaticChecks: true
# Pruefstein fuer den Kern: echte Datei durchjagen, bevor Oberflaeche entsteht.
droptwo-cli:
diff --git a/scripts/publish-release.sh b/scripts/publish-release.sh
index 26bbbd0..21a927c 100755
--- a/scripts/publish-release.sh
+++ b/scripts/publish-release.sh
@@ -33,7 +33,7 @@ SIGN_UPDATE="${SPARKLE_SIGN_UPDATE:-./bin/sign_update}"
}
echo "==> Notarisierung prüfen"
-if ! spctl -a -t open --context context:primary-signature "$DMG" 2>&1 | grep -q accepted; then
+if ! spctl -a -v -t open --context context:primary-signature "$DMG" 2>&1 | grep -q accepted; then
echo "FEHLER: DMG ist nicht notarisiert oder nicht gestapled." >&2
echo "Ein Upload jetzt würde Kollegen eine blockierte App ausliefern." >&2
exit 1