Signing: rebrand bundle IDs to xyz.blakeslee.* and correct the Team ID

Desktop channels → xyz.blakeslee.nucleic.desktop.{dev,beta,rc,release} (the stable channel keyword is unchanged; only its bundle-id suffix is "release"). iOS remote → xyz.blakeslee.nucleic.remote, including its Keychain account namespaces, the scanner log subsystem, and the coupled APNS topic.

Correct the Apple Developer Team ID to L7UDTQ6F5W across the Xcode project, ExportOptions, the APNS config + tests, and the signing/cloud docs.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
Nucleic
2026-06-26 16:52:14 -07:00
co-authored by Claude Opus 4.8
parent 16c7b2cc7e
commit cc97c26256
5 changed files with 10 additions and 10 deletions
+2 -2
View File
@@ -7,7 +7,7 @@
Note: `method = app-store-connect` is the current name (Xcode 15.3+). On older Xcode use
`app-store` instead. Signing is automatic — Xcode manages the distribution profile for team
3XPAYVD6BP (needs an "Apple Distribution" cert + the App ID registered; see signing/README.md).
L7UDTQ6F5W (needs an "Apple Distribution" cert + the App ID registered; see signing/README.md).
-->
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
@@ -17,7 +17,7 @@
<key>destination</key>
<string>upload</string>
<key>teamID</key>
<string>3XPAYVD6BP</string>
<string>L7UDTQ6F5W</string>
<key>signingStyle</key>
<string>automatic</string>
<key>uploadSymbols</key>
@@ -187,7 +187,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 3XPAYVD6BP;
DEVELOPMENT_TEAM = L7UDTQ6F5W;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = NucleicRemote/Info.plist;
@@ -200,7 +200,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.nucleic.remote;
PRODUCT_BUNDLE_IDENTIFIER = xyz.blakeslee.nucleic.remote;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
@@ -215,7 +215,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 3XPAYVD6BP;
DEVELOPMENT_TEAM = L7UDTQ6F5W;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = NucleicRemote/Info.plist;
@@ -228,7 +228,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.nucleic.remote;
PRODUCT_BUNDLE_IDENTIFIER = xyz.blakeslee.nucleic.remote;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
@@ -63,7 +63,7 @@ enum HeartbeatReporter {
// MARK: - Anonymous install id (Keychain; separate from the Noise identity)
private static let installAccount = "com.nucleic.remote.installid"
private static let installAccount = "xyz.blakeslee.nucleic.remote.installid"
private static func installID() -> String {
if let data = keychainRead(installAccount), let id = String(data: data, encoding: .utf8) {
@@ -17,7 +17,7 @@ struct PairedHost: Codable, Equatable {
/// Loads/persists this device's long-term `DeviceIdentity` (Keychain) and the pinned host
/// (UserDefaults). The identity is generated once on first launch and reused thereafter.
enum IdentityStore {
private static let keychainAccount = "com.nucleic.remote.identity"
private static let keychainAccount = "xyz.blakeslee.nucleic.remote.identity"
private static let pairedHostKey = "nucleic.pairedHost"
private static let deviceIDKey = "nucleic.deviceID"
@@ -4,8 +4,8 @@ import NucleicProtocol
import os
/// Filterable scanner diagnostics — in Console.app / Xcode, filter by subsystem
/// `com.nucleic.remote` (category `scanner`) or search the "📷" marker.
private let scannerLog = Logger(subsystem: "com.nucleic.remote", category: "scanner")
/// `xyz.blakeslee.nucleic.remote` (category `scanner`) or search the "📷" marker.
private let scannerLog = Logger(subsystem: "xyz.blakeslee.nucleic.remote", category: "scanner")
/// Why the live camera feed isn't showing, so the scanner never sits on a silent black screen.
enum ScannerCameraState: Equatable {