mirror of
https://github.com/yattee/yattee.git
synced 2026-07-19 05:42:04 +00:00
Fix macOS distribution entitlements and Sparkle beta defaults
- Add macOS-specific entitlements via CODE_SIGN_ENTITLEMENTS[sdk=macosx*]: the iOS aps-environment key is silently dropped from macOS exports, leaving distribution builds without a push entitlement (no CloudKit sync pushes). Release now uses Yattee-macOS.entitlements with com.apple.developer.aps-environment = production. - Release-DeveloperID uses Yattee-macOS-DeveloperID.entitlements, adding the Sparkle mach-lookup temporary exceptions (-spks/-spki) required for the updater to install in a sandboxed app. - Default Sparkle updater to the beta channel while only beta releases exist, so testers receive updates without toggling Advanced settings. - Set NSHumanReadableCopyright for the app target.
This commit is contained in:
@@ -605,6 +605,7 @@
|
||||
"INFOPLIST_FILE[sdk=appletvsimulator*]" = "Yattee/Info-tvOS.plist";
|
||||
INFOPLIST_KEY_CFBundleDisplayName = Yattee;
|
||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.video";
|
||||
INFOPLIST_KEY_NSHumanReadableCopyright = "© 2026 Arkadiusz Fal";
|
||||
INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Yattee uses local network to discover and control playback on other Yattee devices.";
|
||||
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES;
|
||||
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES;
|
||||
@@ -653,6 +654,7 @@
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
AUTOMATION_APPLE_EVENTS = NO;
|
||||
CODE_SIGN_ENTITLEMENTS = Yattee/Yattee.entitlements;
|
||||
"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "Yattee/Yattee-macOS.entitlements";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 262;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
@@ -687,6 +689,7 @@
|
||||
"INFOPLIST_FILE[sdk=appletvsimulator*]" = "Yattee/Info-tvOS.plist";
|
||||
INFOPLIST_KEY_CFBundleDisplayName = Yattee;
|
||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.video";
|
||||
INFOPLIST_KEY_NSHumanReadableCopyright = "© 2026 Arkadiusz Fal";
|
||||
INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Yattee uses local network to discover and control playback on other Yattee devices.";
|
||||
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES;
|
||||
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES;
|
||||
@@ -795,6 +798,7 @@
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
AUTOMATION_APPLE_EVENTS = NO;
|
||||
CODE_SIGN_ENTITLEMENTS = Yattee/Yattee.entitlements;
|
||||
"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "Yattee/Yattee-macOS-DeveloperID.entitlements";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 262;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
@@ -829,6 +833,7 @@
|
||||
"INFOPLIST_FILE[sdk=appletvsimulator*]" = "Yattee/Info-tvOS.plist";
|
||||
INFOPLIST_KEY_CFBundleDisplayName = Yattee;
|
||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.video";
|
||||
INFOPLIST_KEY_NSHumanReadableCopyright = "© 2026 Arkadiusz Fal";
|
||||
INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Yattee uses local network to discover and control playback on other Yattee devices.";
|
||||
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES;
|
||||
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES;
|
||||
|
||||
@@ -50,8 +50,11 @@ final class AppUpdater {
|
||||
private var observation: NSKeyValueObservation?
|
||||
|
||||
private init() {
|
||||
// Load persisted beta preference before constructing the delegate
|
||||
let wantsBeta = UserDefaults.standard.bool(forKey: Self.wantsBetaKey)
|
||||
// Load persisted beta preference before constructing the delegate.
|
||||
// While only beta releases exist, default to the beta channel so
|
||||
// testers receive updates without hunting for the Advanced toggle.
|
||||
// Revisit this default once the first stable release ships.
|
||||
let wantsBeta = UserDefaults.standard.object(forKey: Self.wantsBetaKey) as? Bool ?? true
|
||||
self.wantsBetaChannel = wantsBeta
|
||||
self.delegate.wantsBeta = wantsBeta
|
||||
|
||||
|
||||
27
Yattee/Yattee-macOS-DeveloperID.entitlements
Normal file
27
Yattee/Yattee-macOS-DeveloperID.entitlements
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.developer.aps-environment</key>
|
||||
<string>production</string>
|
||||
<key>com.apple.developer.icloud-container-identifiers</key>
|
||||
<array>
|
||||
<string>iCloud.$(CFBundleIdentifier)</string>
|
||||
</array>
|
||||
<key>com.apple.developer.icloud-services</key>
|
||||
<array>
|
||||
<string>CloudKit</string>
|
||||
</array>
|
||||
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
|
||||
<string>$(TeamIdentifierPrefix)$(CFBundleIdentifier)</string>
|
||||
<key>com.apple.security.application-groups</key>
|
||||
<array>
|
||||
<string>group.stream.yattee.app.shared</string>
|
||||
</array>
|
||||
<key>com.apple.security.temporary-exception.mach-lookup.global-name</key>
|
||||
<array>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)-spks</string>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)-spki</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
22
Yattee/Yattee-macOS.entitlements
Normal file
22
Yattee/Yattee-macOS.entitlements
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.developer.aps-environment</key>
|
||||
<string>production</string>
|
||||
<key>com.apple.developer.icloud-container-identifiers</key>
|
||||
<array>
|
||||
<string>iCloud.$(CFBundleIdentifier)</string>
|
||||
</array>
|
||||
<key>com.apple.developer.icloud-services</key>
|
||||
<array>
|
||||
<string>CloudKit</string>
|
||||
</array>
|
||||
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
|
||||
<string>$(TeamIdentifierPrefix)$(CFBundleIdentifier)</string>
|
||||
<key>com.apple.security.application-groups</key>
|
||||
<array>
|
||||
<string>group.stream.yattee.app.shared</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
Reference in New Issue
Block a user