2026-06-13 01:12:55 -07:00
|
|
|
<?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>NSBonjourServices</key>
|
|
|
|
|
<array>
|
|
|
|
|
<string>_nucleic._tcp</string>
|
|
|
|
|
</array>
|
2026-07-03 01:42:40 -07:00
|
|
|
<!-- iOS 14+ gates ALL local-network access — both Bonjour discovery (_nucleic._tcp above)
|
|
|
|
|
and a direct NWConnection to the Mac's LAN IP from the pairing QR — behind the
|
|
|
|
|
local-network permission, which only prompts if this usage string is present. Without
|
|
|
|
|
it the grant never happens and every LAN connection fails silently, so pairing and
|
|
|
|
|
reconnect appear to "do nothing." -->
|
|
|
|
|
<key>NSLocalNetworkUsageDescription</key>
|
|
|
|
|
<string>Nucleic connects to your Mac on the local network to pair and to sync your sessions and approvals.</string>
|
2026-07-02 03:43:13 -07:00
|
|
|
<key>NucleicChannel</key>
|
|
|
|
|
<string>$(NUCLEIC_CHANNEL)</string>
|
nvrsion: Add: Adjust Canary Build Auto-Update to run every hour, fix Keychain permission audit by updating files: ControlAuth.swift, GitHubCredentials.swift, HeartbeatReporter.swift, KeychainOwnedAccess.swift, HostIdentityStore.swift, PushRelayClient.swift, refactor Remote Build Icon to use “bell.and.waves.left.and.right.fill” in ios/NucleicRemote/NucleicRemote/Views/BuildBanner.swift, add a Remote Release Channel Check in AppStore.swift, Sync/ConnectionHandler.swift, Sync/SyncHostBridge.swift, Sync/ReleaseChannel.swift, Sync/SyncClient.swift, Sync/WireMessages.swift, tests/SyncHostTests.swift, tests/SyncTestSupport.swift, and align build number hash in ios/NucleicRemote/NucleicRemote.xcodeproj/project.pbxproj, ios/NucleicRemote/NucleicRemote/Info.plist, ios/NucleicRemote/NucleicRemote/Views/BuildBanner.swift.
2026-07-02 21:54:40 -07:00
|
|
|
<!-- The short git commit this build came from, shown in the non-release banner to match
|
|
|
|
|
the Mac. Left empty here and overwritten in the built product by the NucleicRemote
|
|
|
|
|
target's "Stamp git commit into Info.plist" build phase (git rev-parse --short HEAD). -->
|
|
|
|
|
<key>NucleicCommit</key>
|
|
|
|
|
<string></string>
|
2026-07-02 04:42:59 -07:00
|
|
|
<key>NSSupportsLiveActivities</key>
|
|
|
|
|
<true/>
|
2026-07-05 01:00:03 -07:00
|
|
|
<!-- Let the Macs' APNs pushes refresh the glance promptly while the phone is locked — without
|
|
|
|
|
this, iOS budget-throttles frequent Live Activity updates and the lock screen lags
|
|
|
|
|
(UX_IOS §5.3). -->
|
|
|
|
|
<key>NSSupportsLiveActivitiesFrequentUpdates</key>
|
|
|
|
|
<true/>
|
2026-07-05 00:28:21 -07:00
|
|
|
<!-- The `nucleic://` deep-link scheme the Live Activity taps through on: `nucleic://session/<id>`
|
|
|
|
|
opens a waiting session; `nucleic://sessions` surfaces the sessions list. Handled by
|
|
|
|
|
`.onOpenURL` → `RemoteStore.handleDeepLink`. -->
|
|
|
|
|
<key>CFBundleURLTypes</key>
|
|
|
|
|
<array>
|
|
|
|
|
<dict>
|
|
|
|
|
<key>CFBundleTypeRole</key>
|
|
|
|
|
<string>Editor</string>
|
|
|
|
|
<key>CFBundleURLName</key>
|
|
|
|
|
<string>com.nucleic.remote</string>
|
|
|
|
|
<key>CFBundleURLSchemes</key>
|
|
|
|
|
<array>
|
|
|
|
|
<string>nucleic</string>
|
|
|
|
|
</array>
|
|
|
|
|
</dict>
|
|
|
|
|
</array>
|
2026-07-02 19:09:08 -07:00
|
|
|
<!-- Export compliance: the app ships a Noise-Protocol secure channel (X25519 /
|
2026-07-02 21:09:09 -07:00
|
|
|
ChaCha20-Poly1305 / SHA-256 via CryptoKit). App Store Connect's export-compliance
|
|
|
|
|
questionnaire classified this as EXEMPT (standard algorithms / mass-market, no
|
|
|
|
|
documentation required), so this is false ("uses no non-exempt encryption"). That
|
|
|
|
|
suppresses the per-submission encryption prompt; no compliance code is needed. -->
|
2026-07-02 19:09:08 -07:00
|
|
|
<key>ITSAppUsesNonExemptEncryption</key>
|
2026-07-02 21:09:09 -07:00
|
|
|
<false/>
|
2026-06-13 01:12:55 -07:00
|
|
|
</dict>
|
|
|
|
|
</plist>
|