HI,
I upgraded to macos 15.5 and xcode 16.3. Last year I was able to update one of my apps on the App Store without issues. Today, after a successful Testflight test, I now need to submit a new version of my app to the App Store for Distribution as the next version/build.
However, when I configure a manual setting for the signing, I can select the correct choices.
But when I click automatically manage signing, and choose the correct team, xcode put in the wrong signing certificate. It is choose a development one, and not the distribution one.
I am concerned about this since I have read that when using the Archive tool, it choses the automatically manage signing by default. And that check box is selecting the "default" settings. I do not know where these default settings are being set, or how to fix this issue. I do not see any info in my searching up to this point. I hope someone can help.
thank you,
cc
Xcode
RSS for tagBuild, test, and submit your app using Xcode, Apple's integrated development environment.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi everyone,
I’m facing a major roadblock with my family location tracking app, and I need some advice or guidance from the community.
Background
Back in 2021, I implemented NSE filtering entitlement to send location-based notifications and retrieve the device's location in return (as suggested by Apple’s technical code support). Over time, I built my app around this entitlement, adding many features that depend on it.
When Location Push Service Extension was introduced for iOS 15+, I adapted accordingly:
NSE filtering was used for devices below iOS 15
Location Push Service Extension was used for iOS 15+
NSE filtering also played a crucial role in:
✅ Accepting/rejecting location-based notifications
✅ Checking device settings & location permissions (since location push won’t work without proper permissions)
The Issue
In November 2024, I created a new developer account to change my business entity. Since then, I’ve been requesting the NSE entitlement repeatedly for four months, but Apple keeps rejecting it. Meanwhile, they approved the Location Push Entitlement, but without NSE filtering, I’m forced to rewrite a huge part of my app’s core functionality.
I’ve sent multiple emails explaining my use case, but I keep getting rejected without any clear explanation or workaround.
My Ask
Has anyone faced a similar issue with NSE entitlement?
Are there any alternative approaches to achieve the same functionality?
Any advice on how to escalate this to Apple or get proper feedback on why it's being rejected?
I’ve invested years into this app, and a forced rewrite would take months. Any help, insights, or contacts who could assist would be greatly appreciated!
Thanks in advance! 🙏
Topic:
Developer Tools & Services
SubTopic:
Xcode
I had an Intel macbook and I used that to build and release my app to app store but I didn't release for 2 years. Recently a bug was reported that I needed to update the a code and make a new release with my apple silicon macbook. But I get this issue when I go to Product -> Archive.
I tried updating pods, as well as adding following line to the Podfile but no change.
platform :ios, "12.0"
target "myApp" do
use_frameworks!
pod "AFNetworking"
pod "KVNProgress"
pod "GCDWebServer"
pod "CocoaLumberjack"
pod "Intercom"
pod "GoogleWebRTC"
pod "SAMKeychain"
pod "googleapis", :path => '.'
pod 'gRPC', '1.0.0'
pod 'gRPC-Core', '1.0.0'
pod 'gRPC-ProtoRPC', '1.0.0'
pod 'gRPC-RxLibrary', '1.0.0'
pod 'BoringSSL-GRPC', '0.0.7'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'BoringSSL-GRPC'
target.source_build_phase.files.each do |file|
if file.settings && file.settings['COMPILER_FLAGS']
flags = file.settings['COMPILER_FLAGS'].split
flags.reject! { |flag| flag == '-GCC_WARN_INHIBIT_ALL_WARNINGS' }
file.settings['COMPILER_FLAGS'] = flags.join(' ')
end
end
end
end
end
Nothing worked for me. What do I do now? I appreciate any help
Topic:
Developer Tools & Services
SubTopic:
Xcode
We are seeing crashes after upgrading to xcode16.x ( tested with 16.1 , 16.2 and 16.3) and ios 18.1, 18.2, 18.3.1 and 18.4 . when tests are running simulator is crashing with mulitple reasons.
CoreSimulatorService[85444] <Error>: Failed to get a device identity for simulator device BFAD684E-A48A-4170-80E1-8FBC04744E79, error: Error Domain=com.apple.MobileActivation.ErrorDomain Code=-1 "Failed to create BAA info." UserInfo={NSLocalizedDescription=Failed to create BAA info., NSUnderlyingError=0x600002072a60 {Error Domain=com.apple.MobileActivation.ErrorDomain Code=-1 "Failed to query baa info." UserInfo={NSLocalizedDescription=Failed to query baa info., NSUnderlyingError=0x600002073390 {Error Domain=com.apple.MobileActivation.ErrorDomain Code=-1 "Failed to load cryptex1 manifest." UserInfo={NSLocalizedDescription=Failed to load cryptex1 manifest., NSUnderlyingError=0x600002071110 {Error Domain=com.apple.MobileActivation.ErrorDomain Code=-1 "Failed to load firmware data from /System/Volumes/iSCPreboot/F743DA4B-92E7-4E92-ACD2-40775DF4B5A2/cryptex1/current/apticket.j274ap.1A256C21D3001E.im4m." UserInfo=0x600003b47bc0 (not displayed)}}}}}}
sometimes crashing with
[02:47:24]: ▸ Tests_iOS-Runner encountered an error (Failed to prepare device 'Clone 2 of iPhone 16 Pro' for impending launch. (Underlying Error: Unable to boot the Simulator. launchd failed to respond. (Underlying Error: Failed to start launchd_sim: could not bind to session, launchd_sim may have crashed or quit responding)))
sometimes with
[18:44:47]: ▸ 2025-05-08 18:44:47.019 xcodebuild[75752:6252304] [MT] IDELaunchReport: a616bd895a3ee240:a616bd895a3eec00:Install Actions Finished with error: Unable to boot the Simulator.
[18:44:47]: ▸ Domain: NSPOSIXErrorDomain
[18:44:47]: ▸ Code: 60
[18:44:47]: ▸ Failure Reason: launchd failed to respond.
[18:44:47]: ▸ User Info: {
[18:44:47]: ▸ Session = "com.apple.CoreSimulator.SimDevice.BD4A5DAB-3317-44D1-AFD1-C6EED090BB20";
[18:44:47]: ▸ }
[18:44:47]: ▸ --
[18:44:47]: ▸ Failed to start launchd_sim: could not bind to session, launchd_sim may have crashed or quit responding
[18:44:47]: ▸ Domain: com.apple.SimLaunchHostService.RequestError
[18:44:47]: ▸ Code: 4
[18:44:47]: ▸ --
[18:44:47]: ▸ 2025-05-08 18:44:47.019 xcodebuild[75752:6252304] [MT] IDELaunchReport: a616bd895a3ee240:a616bd895a3eec00:Install Actions com.apple.dt.IDERunOperationWorkerFinished {
[18:44:47]: ▸ "operation_duration_ms" = 55114;
[18:44:47]: ▸ "operation_errorCode" = 60;
[18:44:47]: ▸ "operation_errorDomain" = NSPOSIXErrorDomain;
[18:44:47]: ▸ "operation_name" = "_IDEInstalliPhoneSimulatorWorker";
[18:44:47]: ▸ }
sometimes crashing with
Run test suite Tests2 encountered an error (Early unexpected exit, operation never finished bootstrapping - no restart will be attempted. (Underlying Error: Test crashed with signal term before starting test execution.))
On my M4 Mac running macOS 15.5 using Xcode 16.4 & Xcode CLT 16.4, Swift code in my Swift Package Manager 5.9 project (https://github.com/mas-cli/mas) builds fine against some included Objective-C headers via the following command line:
swift build -c release
But cannot find modules for the included Objective-C headers when building inside Xcode 16.4 or with the following command line on the same Mac:
xcodebuild -scheme mas -configuration Release -destination platform=macOS,arch=arm64,variant=macos
The error is:
Sources/mas/AppStore/AppleAccount.swift:9:16: error: no such module 'StoreFoundation'
How can I get Xcode / xcodebuild to work?
Note that the project is normally built by running:
Scripts/build
which runs:
swift build -c release
after running the following script, which must be run before any build (swift, Xcode, or xcodebuild) because it generates a necessary file (Sources/mas/Package.swift):
Scripts/generate_package_swift
I've tried moving the Objective-C headers into include subfolders of their existing module folders, using double quotes instead of angle brackets for the #import statements, having module.modulemap files in the include
subfolders or their parent module folder, and moving the module folders one level up the file hierarchy, to no avail.
I've also tried various changes to the root-level Package.swift (not the generated one deeper in the hierarchy, which isn't inclined in the build configuration), like making separate library targets for each of the Objective-C modules, various swiftSettings & linkerSettings, etc.
Maybe some of those changes would have helped, but maybe they were in incorrect combinations.
Thanks for any help.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
Swift Packages
Developer Tools
Xcode
Objective-C
I've recently upgraded to Sequoia and Xcode 16.3 (now 16.4RC) and a significant change I've noticed vs 16.2 is that the height of UINavigationBar components in storyboards and XIBs is incorrect.
Xcode 16.2:
Xcode 16.4:
This only affects simulated metrics in storyboard / XIB files.
I have been unable to find any discussion of this issue anywhere online.
Is this actually an Xcode bug that has gone unnoticed / unfixed or is there some underlying intentional change here that I'm unaware of?
Topic:
Developer Tools & Services
SubTopic:
Xcode
When you try to reset settings through the Apple Vision Pro simulator (VisionOS 2.4) you get an error "Preferences quit unexpectedly".
Bug report: FB17666053
In Xcode's StoreKit transaction manager (Debug > StoreKit > Manage Transactions), how can I delete old apps that I do not need anymore from the list of apps?
I know there has been issues with SFSpeechRecognizer in iOS 17+ inside the simulator. Running into issues with speech not being recognised inside the visionOS 2.4 simulator as well (likely because it borrows from iOS frameworks). Just wondering if anyone has any work arounds or advice for this simulator issue. I can't test on device because I don't have an Apple Vision Pro.
Using Swift 6 on Xcode 16.3. Below are the console logs & the code that I am using.
Console Logs
BACKGROUND SPATIAL TAP (hit BackgroundTapPlane)
SpeechToTextManager.startRecording() called
[0x15388a900|InputElement #0|Initialize] Number of channels = 0 in AudioChannelLayout does not match number of channels = 2 in stream format.
iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending
iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending
iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending
iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending
iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending
iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending
SpeechToTextManager.startRecording() completed successfully and recording is active.
GameManager.onTapToggle received. speechToTextManager.isAvailable: true, speechToTextManager.isRecording: true
GameManager received tap toggle callback. Tapped Object: None
BACKGROUND SPATIAL TAP (hit BackgroundTapPlane)
GESTURE MANAGER - User is already recording, stopping recording
SpeechToTextManager.stopRecording() called
GameManager.onTapToggle received. speechToTextManager.isAvailable: true, speechToTextManager.isRecording: false
Audio data size: 134400 bytes
Recognition task error: No speech detected <---
Code
private(set) var isRecording: Bool = false
private var recognitionRequest: SFSpeechAudioBufferRecognitionRequest?
private var recognitionTask: SFSpeechRecognitionTask?
@MainActor
func startRecording() async throws {
logger.debug("SpeechToTextManager.startRecording() called")
guard !isRecording else {
logger.warning("Cannot start recording: Already recording.")
throw AppError.alreadyRecording
}
currentTranscript = ""
processingError = nil
audioBuffer = Data()
isRecording = true
do {
try await configureAudioSession()
try await Task.detached { [weak self] in
guard let self = self else {
throw AppError.internalError(description: "SpeechToTextManager instance deallocated during recording setup.")
}
try await self.audioProcessor.configureAudioEngine()
let (recognizer, request) = try await MainActor.run { () -> (SFSpeechRecognizer, SFSpeechAudioBufferRecognitionRequest) in
guard let result = self.createRecognitionRequest() else {
throw AppError.configurationError(description: "Speech recognition not available or SFSpeechRecognizer initialization failed.")
}
return result
}
await MainActor.run {
self.recognitionRequest = request
}
await MainActor.run {
self.recognitionTask = recognizer.recognitionTask(with: request) { [weak self] result, error in
guard let self = self else { return }
if let error = error {
// WE ENTER INTO THIS BLOCK, ALWAYS
self.logger.error("Recognition task error: \(error.localizedDescription)")
self.processingError = .speechRecognitionError(description: error.localizedDescription)
return
}
. . .
}
}
. . .
}.value
} catch {
. . .
}
}
@MainActor
func stopRecording() {
logger.debug("SpeechToTextManager.stopRecording() called")
guard isRecording else {
logger.debug("Not recording, nothing to do")
return
}
isRecording = false
Task.detached { [weak self] in
guard let self = self else { return }
await self.audioProcessor.stopEngine()
let finalBuffer = await self.audioProcessor.getAudioBuffer()
await MainActor.run {
self.recognitionRequest?.endAudio()
self.recognitionTask?.cancel()
}
. . .
}
}
Hi! A couple of months ago my app was archiving just fine. Since an xcode update the build fails. Here is what shows at the end of the log. Thank you in advance for any help!
Run custom shell script 'Run Script'
Failed to package [project folder]
Command PhaseScriptExecution failed with a nonzero exit code
Topic:
Developer Tools & Services
SubTopic:
Xcode
I am trying to setup a unversal linking for my new developing app.
but it look like not function well. did any one have some examples or demo domains suggest to use?
In fact finally my app is just internal using, user will not suppose connect to internet , how can I using the universal linking without a website ?
Thanks
Within Xcode's settings location section is a drop down menu to switch between setting the derived data location to be default, relative or custom.
However its a global setting.
I work on more than one project simultaneously, and for one of them I want the location set to relative, but default for all the others.
Is there any way of achieving that?
I am on MacOs 15.4.1 which is being deployed with an old version of Ruby ruby 2.6.10 and bundler version 1.17.2. I ran pod install after generating the pods with these versions and during the application compilation there have been several issues reported against pods code.
I’m creating code that performs asynchronous processing using the Promises library (https://github.com/google/promises). In this context, when building the app in Xcode 15.4 and Xcode 16.2, the behavior differs between the two.
I’m using version 2.1.1 of the library. Also, I’ve tried using the latest version, 2.4.0, but the result was the same.
Has anyone encountered the same issue or know an effective solution?
Here's a simple code that reproduces this issue.
@IBAction func tapButton(_: UIButton) {
_ = getInfo()
}
func getInfo() -> Promise<Void> {
Promise(on: .global(qos: .background)) { fulfill, _ in
self.callApi()
.then { apiResult -> Promise<ApiResult> in
print("\(#function), first apiResult: \(apiResult)")
return self.callApi() // #1
}
.then { apiResult in
print("\(#function), second apiResult: \(apiResult)") // #2
fulfill(())
}
}
}
func callApi() -> Promise<ApiResult> {
Promise(on: .global(qos: .background)) { fulfill, _ in
print("\(#function), start")
self.wait(3)
.then { _ in
let apiResult = ApiResult(message: "success")
print("\(#function), end")
fulfill(apiResult)
}
}
}
struct ApiResult: Codable {
var message: String
enum CodingKeys: String, CodingKey {
case message
}
}
The Swift Language version in the build settings is 5.0.
The console output when running the above code is as follows:
When built with Xcode 15.4:
2025/03/21 10:10:46.248 callApi(), start
2025/03/21 10:10:46.248 wait 3.0 sec
2025/03/21 10:10:49.515 callApi(), end
2025/03/21 10:10:49.535 getDeviceInfo(), first apiResult: ApiResult(message: "success")
2025/03/21 10:10:49.535 callApi(), start
2025/03/21 10:10:49.536 wait 3.0 sec
2025/03/21 10:10:52.831 callApi(), end
2025/03/21 10:10:52.832 getDeviceInfo(), second apiResult: ApiResult(message: "success")
The process proceeds from #1 to #2 after completing the code comment in #1.
When built with Xcode 16.2:
2025/03/21 09:45:33.399 callApi(), start
2025/03/21 09:45:33.400 wait 3.0 sec
2025/03/21 09:45:36.648 callApi(), end
2025/03/21 09:45:36.666 getDeviceInfo(), first apiResult: ApiResult(message: "success")
2025/03/21 09:45:36.666 callApi(), start
2025/03/21 09:45:36.666 wait 3.0 sec
2025/03/21 09:45:36.677 getDeviceInfo(), second apiResult: Pending: ApiResult
2025/03/21 09:45:39.933 callApi(), end
The process does not wait for the code comment in #1 to finish and outputs the #2 print statement first.
Additionally, even with Xcode 16.2, when changing the #2 line to "print("(#function), second apiResult: (apiResult.message)")", the output becomes as follows. From this, it seems that referencing the ApiResult type, which is not a String, might have some effect on the behavior.
2025/03/21 10:05:42.129 callApi(), start
2025/03/21 10:05:42.131 wait 3.0 sec
2025/03/21 10:05:45.419 callApi(), end
2025/03/21 10:05:45.437 getDeviceInfo(), first apiResult: ApiResult(message: "success")
2025/03/21 10:05:45.437 callApi(), start
2025/03/21 10:05:45.437 wait 3.0 sec
2025/03/21 10:05:48.706 callApi(), end
2025/03/21 10:05:48.707 getDeviceInfo(), second apiResult: success
Thank you in advance
Topic:
Developer Tools & Services
SubTopic:
Xcode
Hi I developed an iPhone app but now I want to release the same app for iPad and Mac (Design for iPad). I made the changes below but I still not been able to install the app on my Mac. It says the app is incompatible but my Mac is MacBook Pro M2 which fills the requirements to install it.
Things I did so my iPhone app could have support for iPad and Mac
Added iPad and Mac (Designed for iPad) for the supported destinations
Change the Status Bar Style to Require full screen
Changed iOS minimum Deployments iOS to 17.6
Updated the launch screen logo so stays in the middle
Xcode version 16.2
See the sccreenshots of the Xcode configuration and of the TestFlight on my MacBook Pro M2
Is there anything else I need to do?
Thanks.
Topic:
Developer Tools & Services
SubTopic:
Xcode
I’m experiencing an issue in Xcode 16 where the app randomly builds and runs in the simulator while I’m designing items in the storyboard.
Here’s what I’ve tried so far to stop this behavior:
Disabled "Show Live Issues" in the General settings
Removed all key bindings related to Build & Run in the Key Bindings settings
Checked for unintentional shortcut triggers, but nothing seems to be causing it
Update XCode from 16.1 to 16.2
Delete Derived Data
Despite these actions, Xcode still automatically builds and launches the simulator at unexpected times, disrupting my workflow.
Is there any setting or hidden configuration that could be causing this?
How can I completely prevent Xcode from running the simulator automatically while editing UI in the storyboard?
Would really appreciate any guidance on this!
Hello. For the last few months I have been facing a situation for which I do not understand either the reason or the solution. Here is an example for the last few weeks:
In App Store Connect it shows 214 crashes for the last week
In Xcode it shows 56 crashes for the last 2 weeks without stack traces (NO_CRASH_STACK)
In Firebase Crashlytics there is not a single crash.
When I click "Show in Finder" it opens a folder with .xccrashpoint files. As far as I understood from the instructions on posting crash reports - this is not what is needed.
Interesting point: it looks like the errors occur on iOS 15-16 devices.
I have several questions:
Why is the number of crashes in Xcode different from the number in App Store Connect? Where are the other crashes?
How can I understand what the problem is if there are no stack traces in Xcode?
Hi there,
When using devicectl to manage files:
It's unclear for which domains the username should be provided
It's unclear how to determine the username
Listing files
USAGE: devicectl device info files [<options>] --device <uuid|ecid|serial_number|udid|name|dns_name> --domain-type <domain-type>
FILE OPTIONS:
--username <username> The username of the user we should target. Only relevant for certain domains.
--domain-type <domain-type>
The file service domain. Valid values are: temporary, appDataContainer, appGroupDataContainer, systemCrashLogs. You must specify a valid domain and
identifier pair. Certain domains must be accompanied by an identifier that provides additional context. For example, if the domain is an app data
container, the identifier is the bundle ID of the app. For temporary directories, the identifier is a unique client-provided string which is used to
get your own space, separate from those of other clients.
--domain-identifier <domain-identifier>
A unique string used to provide additional context to the domain.
--username The username of the user we should target. Only relevant for certain domains.
In the domains, the username requirements are not mentioned.
Copying files
USAGE: devicectl device copy to --device <uuid|ecid|serial_number|udid|name|dns_name> --source <source> [--destination <destination>] [--user <user>] --domain-type <domain-type> [--domain-identifier <domain-identifier>] [--remove-existing-content <remove-existing-content>] [--verbose] [--quiet] [--timeout <seconds>] [--json-output <path>] [--log-output <path>]
DEVICE OPTIONS:
-d, --device <uuid|ecid|serial_number|udid|name|dns_name>
The identifier, ECID, serial number, UDID, user-provided name, or DNS name of the device.
FILE OPTIONS:
--source <source> The item which should be copied.
--destination <destination>
The location to which the item should be copied.
-u, --user <user> The name of the user we should target. Only relevant for certain domains.
--domain-type <domain-type>
The file service domain. Valid values are: temporary, appDataContainer, appGroupDataContainer, systemCrashLogs. You must specify a valid domain and
identifier pair. Certain domains must be accompanied by an identifier that provides additional context. For example, if the domain is an app data
container, the identifier is the bundle ID of the app. For temporary directories, the identifier is a unique client-provided string which is used to
get your own space, separate from those of other clients.
--domain-identifier <domain-identifier>
A unique string used to provide additional context to the
-u, --user The name of the user we should target. Only relevant for certain domains.
The "certain domains" are not specified.
user vs username
The list files command takes:
--username <username> The username of the user we should target. Only relevant for certain domains
The copy command takes:
-u, --user <user> The name of the user we should target. Only relevant for certain domains.
Is there a difference between username and user?
How do we figure out the user or username?
From https://developer.apple.com/forums/thread/749649 I learned that about the "mobile" value, but why, and how?
It would help if these arguments could be explained in more detail.
this is our code foe fetching the apnstoken - and registering for the FCM and snding it to our servers. - we are consistently getting apns == null
import 'dart:io';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:solaris/services/fetch_deviceId.dart';
Future initializeFCM() async {
final FirebaseMessaging _firebaseMessaging = FirebaseMessaging.instance;
// Request notification permissions for iOS
final settings = await _firebaseMessaging.requestPermission();
print('Notifcation Permission Status: ${settings.authorizationStatus}');
String? apnsToken;
int retries = 0;
const int maxRetries = 60;
const Duration retryDelay = Duration(seconds: 2);
// Retry fetching the APNs token until it's available or max retries are reached
while (apnsToken == null && retries < maxRetries) {
print(retries);
apnsToken = await _firebaseMessaging.getAPNSToken();
if (apnsToken == null) {
await Future.delayed(retryDelay);
retries++;
}
}
if (apnsToken != null) {
// APNs token is available, proceed to get FCM token
String? fcmToken = await _firebaseMessaging.getToken();
if (fcmToken != null) {
// Register the device and token with your backend
await registerDeviceAndToken(fcmToken);
} else {
// Handle the case where FCM token is still null
print('FCM token is null.');
}
} else {
// Handle the case where APNs token is not available after retries
print('APNs token not available after retries.');
}
}
Future registerDeviceAndToken(String fcmToken) async {
//fcmToken = fcmToken;
print(fcmToken);
final user = FirebaseAuth.instance.currentUser;
if (user == null) {
print('❌ User not logged in');
return;
}
final deviceId = await DeviceInfoService.getUniqueDeviceId();
//final fcmToken = await FirebaseMessaging.instance.getToken();
print('📱 Device ID from register_fcm: $deviceId');
print('📩 FCM Token from mew getapnd function: $fcmToken');
if (deviceId == null || fcmToken == null) {
print('❌ Failed to get deviceId or fcmToken');
return;
}
final docRef = FirebaseFirestore.instance
.collection('master_users')
.doc(user.uid)
.collection('deviceId')
.doc(user.uid); // This document holds a map: { deviceId: fcmToken }
print(docRef);
try {
// Get current data, fallback to empty map
final snapshot = await docRef.get();
final data = snapshot.data() ?? <String, dynamic>{};
print(data);
// Update or add current deviceId key
data[deviceId] = fcmToken;
// Save updated map back to Firestore
await docRef.set(data);
print(data);
print('✅ Device ID and FCM token updated/stored under correct structure');
} catch (e) {
print('❌ Firestore write error: $e');
}
}
Using Xcode 26 Beta 3 on MacOS 26 Beta 3, I cannot see any Rosetta Simulators even though I've turned on:
Xcode
Product -> Destination -> Show All Run Destinations
I suspected that there has been an issue with showing them on Xcode, then I used Terminal to verify:
First I tried to run/build unit tests with an ARM64 simulator, of course, I got a failed result - Because my project hasn't fully supported ARM64 yet.
xcodebuild test \
-scheme MyScheme \
-project MyProject.xcodeproj \
-destination "platform=iOS Simulator,name=iPhone 16,arch=arm64"
Output:
Undefined symbol: _OBJC_CLASS_$_MTAmiVoice
Then I tried with a Rosetta simulator:
xcodebuild test \
-scheme MyScheme \
-project MyProject.xcodeproj \
-destination "platform=iOS Simulator,name=iPhone 16,arch=x86_64"
Output:
xcodebuild: error: Unable to find a destination matching the provided destination specifier:
{ platform:iOS Simulator, arch:x86_64, OS:latest, name:iPhone 16 }
Available destinations for the "MyScheme" scheme:
{ platform:macOS, arch:arm64, variant:Designed for [iPad,iPhone], id:14975ac530130e6513017194c34d61ec91d18706, name:My Mac }
{ platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
{ platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
{ platform:iOS Simulator, arch:arm64, id:ADD3BC9A-B3C5-4A60-9BC0-AE5C0CC5AB74, OS:26.0, name:iPad (A16) }
{ platform:iOS Simulator, arch:arm64, id:2CA6EE27-BDC0-4A01-9ADF-418F3C967EED, OS:26.0, name:iPad Air 11-inch (M3) }
{ platform:iOS Simulator, arch:arm64, id:73F383A0-FBA9-4EE8-95F1-C337B936A5F2, OS:26.0, name:iPad Air 13-inch (M3) }
{ platform:iOS Simulator, arch:arm64, id:3A0EE8B8-6F69-455D-B69A-8F2A834608D3, OS:26.0, name:iPad Pro 11-inch (M4) }
{ platform:iOS Simulator, arch:arm64, id:61358EB9-A87E-45F9-80EB-CA17D2289C54, OS:26.0, name:iPad Pro 13-inch (M4) }
{ platform:iOS Simulator, arch:arm64, id:D040351C-6177-42BC-B0E2-9E0C995EA515, OS:26.0, name:iPad mini (A17 Pro) }
{ platform:iOS Simulator, arch:arm64, id:7D58AA15-86D0-4E8A-8C1C-A6CD33B70BB4, OS:26.0, name:iPhone 16 }
{ platform:iOS Simulator, arch:arm64, id:4CE14A8D-3E2C-4ACA-B12C-41F4642553D2, OS:26.0, name:iPhone 16 Plus }
{ platform:iOS Simulator, arch:arm64, id:C5B76D64-DC54-4BB9-8EFC-CF44D8346379, OS:26.0, name:iPhone 16 Pro }
{ platform:iOS Simulator, arch:arm64, id:5973F4D1-5C4F-4386-B0BA-A36C1A542138, OS:26.0, name:iPhone 16 Pro Max }
{ platform:iOS Simulator, arch:arm64, id:A6030BF7-0D50-4A48-A883-FDC276C6FCFF, OS:26.0, name:iPhone 16e }
As far as I can understand, there is no Rosetta Simulator installed yet.
My question is: Are there any additional steps that I need to do to trigger Rosetta Simulators on this workstation?
With my other workstation, I have Mac Sequoia 15.5, Xcode 16 and Xcode 26 Beta 3, everything works perfectly for me: I can see Rosetta Simulator with Xcode 26 Beta and run my app with on Rosetta simulators.
See more: https://developer.apple.com/forums/thread/791500?answerId=848514022#848514022