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
@@ -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 {