Build, test, and submit your app using Xcode, Apple's integrated development environment.

Xcode Documentation

Posts under Xcode subtopic

Post

Replies

Boosts

Views

Activity

unsupported option '-G' for target 'arm64-apple-ios12.0'
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
0
0
157
May ’25
iOS 26 CarPlay Widgets
My company's app has a few widgets and a couple of them we do not want to show up on CarPlay due to safety concerns when iOS 26 releases. I understand Apple's recommended way to prevent users from using your widget in CarPlay is to use the .disfavoredLocations([.carPlay], for: [.systemSmall]), and this puts your widget in the 'Other' section of the widgets. https://developer.apple.com/download/files/CarPlay-Developer-Guide.pdf However, this .carPlay widget location is only available in Xcode 26, and our app cannot be built on Xcode 26 yet due to some build errors. We are able to fix those build errors in a separate branch, but we won't be doing our official release builds on Xcode 26 until it is out of beta, which is usually right before iOS 26 officially releases to general audiences. We release our app versions on a monthly cadence, so the version that will be out when iOS 26 comes out is already in testing. Is there any existing way we can disable this widget on CarPlay so it does not appear to work when tapped? Currently, it opens our CarPlay app, but the CarPlay app does nothing with it. On the iPhone, when you tap the widget it opens our app and performs a function. We don't wan't to disable it on the iPhone, just when it's on CarPlay. We don't have time before the app release to implement the same functionality on our CarPlay app. I haven't found any reliable way to detect if the widget is running in the CarPlay location versus the iPhone home screen. Thanks in advance for any assistance.
0
13
344
Aug ’25
SFSpeechRecognizer is not working inside visionOS 2.4 simulator
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() } . . . } }
0
0
167
May ’25
SwiftSupport is missing
I'm trying to distribute an app for internal testing but I'm always getting the below error and the SwiftSupport folder is not created although I tried different fixes/configurations. How can I debug/see the reason why the SwiftSupport folder is not generated? Xcode 16.4 Build version 16F6 I tried distributing from the Transporter, Xcode organizer, I tried to archive it both from Xcode and from the command line. There are a couple of answers on StackOverflow, nothing helped. What could be the problem? One of the things I tried: xcodebuild \ -project PhotoBook.xcodeproj \ -scheme PhotoBook \ -configuration Release \ -archivePath Release/PhotoBook.xcarchive \ -destination 'generic/platform=iOS' \ -verbose \ archive xcodebuild \ -exportArchive \ -archivePath Release/PhotoBook.xcarchive \ -exportPath Release \ -exportOptionsPlist ExportOptions.plist \ -destination 'generic/platform=iOS' \ -verbose ExportOptions.plist <?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>method</key> <string>app-store-connect</string> <key>teamID</key> <string>T672CQXP54</string> <key>uploadSymbols</key> <true/> <key>uploadBitcode</key> <false/> <key>signingStyle</key> <string>manual</string> <key>provisioningProfiles</key> <dict> <key>com.mandelbrotsc.PhotoBook</key> <string>iOS Distribution Profile</string> </dict> </dict> </plist> The error: ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.
0
1
75
Aug ’25
Xcode26beta5,使用iOS17.6设备运行,直接崩溃_NSUserActivityTypeBrowsingWeb
dyld[2515]: Symbol not found: _NSUserActivityTypeBrowsingWeb Referenced from: /private/var/containers/Bundle/Application/94D2F46D-70B0-4770-9DC3-50953F03A984/jiaxiaozhijia-ios.app/jiaxiaozhijia-ios.debug.dylib Expected in: <3BCD2D21-B96D-3B5F-8C58-3AFFFD6466A4> /System/Library/Frameworks/CoreServices.framework/CoreServices Symbol not found: _NSUserActivityTypeBrowsingWeb Referenced from: /private/var/containers/Bundle/Application/94D2F46D-70B0-4770-9DC3-50953F03A984/jiaxiaozhijia-ios.app/jiaxiaozhijia-ios.debug.dylib Expected in: <3BCD2D21-B96D-3B5F-8C58-3AFFFD6466A4> /System/Library/Frameworks/CoreServices.framework/CoreServices dyld config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/usr/lib/libLogRedirect.dylib:/usr/lib/libBacktraceRecording.dylib:/usr/lib/libMainThreadChecker.dylib:/usr/lib/libRPAC.dylib:/usr/lib/libViewDebuggerSupport.dylib:/System/Library/PrivateFrameworks/GPUToolsCapture.framework/GPUToolsCapture 请告诉我们该怎么做?现在xcode26beta5版本是不是还没有修复?
0
0
141
Aug ’25
Future configuration options and support for custom MCP servers in Xcode
I’m exploring the new AI-assisted development features in Xcode 26, particularly the integration with MCP (Model Context Protocol) servers. I have two related questions about future capabilities: 1. Configuration flexibility – Will future versions of Xcode provide more granular configuration options? For example, being able to adjust model parameters, set custom request headers? 2. Custom MCP servers – Will it be possible to connect Xcode to a custom MCP servers? It would be great to know if these capabilities are on the roadmap, and if so, what the expected level of customization might be. Thank you.
0
1
71
Aug ’25
APNS NULL
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'); } }
0
0
109
Apr ’25
Swift Testing Failed to complete Unit Tests -> not enough values to unpack (expected 2, got 1)
I’m migrating some XCTest cases to Swift Testing and hit a runtime error when using tuple arguments within the CI. I don't have an issue when running locally. [2025-08-21 14:22:13.493] [unit_tests] [WARNING] Could not find test status list for -[FooManagerTests testEndpoint(region:enforce:expectedEndpoint:)] [2025-08-21 14:22:18.054] [unit_tests] [ERROR] not enough values to unpack (expected 2, got 1) ##[error]Failed to complete Unit Tests -> not enough values to unpack (expected @Test("Telemetry endpoint routing", arguments: [ (TelemetryRegion.value1, false, Foo.someValue1), (TelemetryRegion.value2, false, Foo.someValue2), (TelemetryRegion.value3, true, Foo.someValue3), (TelemetryRegion.value4, false, Foo.someValue4), ]) func testEndpoint(region: enforce: expectedEndpoint: ) { ... }
0
0
133
Aug ’25
Unable to apply stashed changes
I am trying to perform an unstash operation. I RC on the stash to restore, select "Apply Stashed Changes". It then launches a comparison window to allow me to cherrypick the changes I want to include. However, the button along the bottom, "Apply Changes" is grayed out and remains so no matter what I do. Switching stashes, exiting and restarting xcode. TG i made an emergency project backup right before I did the stash, just for a case like this. Bug? Feature?
0
1
60
Apr ’25
Why does dependency analysis work for a script that outputs a folder that is copied in copy bundle resources but not once that script is moved to an aggregate target?
This question is a component of this question and an extension to this question which has been solved. This situation might feel a pinch constructed but it is a simplified version of one step of the original question. Basically in my app I have a script that outputs a folder with a few files inside of it. This folder is output to $(BUILT_PRODUCTS_DIR)/build/ and is referenced via a PBXBuildFile. Because I put a wait in the script (to simulate a long build I have in my real project) it is very obvious when the script is or isn't run. The goal would be for it to run only when its dependencies have changed. The trick is if I put this script as a "run script" phase within my final target dependency analysis works great. The script only runs when the dependencies are updated. However if I put the "run script" phase into an aggregate target then add it as a Target Dependency in the main target Xcode wants to run the script every time. Regardless of if the dependencies have changed. However if you build just the aggregate target alone everything goes just fine. It only builds when it has to. To me this does not quite make sense. I thought that dependency analysis of the script within my aggregate target would be the same regardless of whether that script was within the aggregate target or the main target. In my app I ideally need the aggregate target to be shared by multiple other targets. While I could put the script in each it would be more foolproof to have them share an aggregate target. Why would dependency analysis come to a different conclusion when the script is within an aggregate target that is a target dependency of the main target? If it helps here is the script and the entire project can be found here on GitHub if you would like to play with it. mkdir -p "${SCRIPT_OUTPUT_FILE_0}/build/" echo "Pausing for 10 seconds before creating files..." sleep 10 cat "${SCRIPT_INPUT_FILE_0}" cat > "${SCRIPT_OUTPUT_FILE_0}/build/index.html" << EOF <!DOCTYPE html> <html> <head> <title>Simple Page</title> </head> <body> <h1>Welcome to Simple Page</h1> <p>Generated at: $(date)</p> </body> </html> EOF cat > "${SCRIPT_OUTPUT_FILE_0}/build/page.html" << 'EOF' <!DOCTYPE html> <html> <head> <title>Simple Page</title> </head> <body> </body> </html> EOF
0
0
89
Aug ’25
load_eligibility_plist errors
I'm just getting started with swift development using Xcode 164 on a MacBook Pro running Sequoia 15.6. When I try to run the simplest "Hello World" app against iPhone simulators, I get the error messages below. I've looked at that location and none of the directory structure /private/var/db/eligibilityd below the 2224B135-8383-4C69-B339-B6DF9D88F6FD folder exists. Just wondering if I have a config error somewhere or if there's somewhere else I should be looking to correct this. It doesn't occur when I run on a physical iPhone device. Error message: load_eligibility_plist: Failed to open /Users/****/Library/Developer/CoreSimulator/Devices/DB1919F3-ECB8-4C55-817C-85B68F083F57/data/Containers/Data/Application/2224B135-8383-4C69-B339-B6DF9D88F6FD/private/var/db/eligibilityd/eligibility.plist: No such file or directory(2) Failed to send CA Event for app launch measurements for ca_event_type: 0 event_name: com.apple.app_launch_measurement.FirstFramePresentationMetric Failed to send CA Event for app launch measurements for ca_event_type: 1 event_name: com.apple.app_launch_measurement.ExtendedLaunchMetrics
0
2
340
Aug ’25
Configure document used by my swiftui document app
Trying to configure info.plist and the base application the application works with the application. I consistently get two errors. Validation failed Disallowed UTTypes value. The Info.plist key 'UTTypeIdentifier' under 'UTImportedTypeDeclarations' in 'Blood Pressure Management V2.0.app' has disallowed values '[com.example.item-document]'. A Uniform Type Identifier starting with one of the patterns in the list '( "com.example." )' is disallowed. (ID: f2dbfe04-4f06-47ac-b74f-28ec238238c4) Validation failed The product archive is invalid. The value of the CFBundleDocumentTypes key in the Info.plist must be an array of dictionaries, with each dictionary containing at least the CFBundleTypeName key. (ID: fad3e65a-dc9d-4d9e-9506-703b874f71c6) Is there any clear documentation with examples? I have not found it yet.
0
0
63
Aug ’25
xcode 16.3 now not selecting correct Signing Certificate with Automatically Manage Signing Selected
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
0
0
108
May ’25
No FCM token found
The issue I am facing is that even when I run my app from a physical device, I get the error "No FCM token found," while push notifications are enabled in my Xcode capabilities. I don't see the FCM token generated in the users' collection on Firestore. While the code setup seems good, the same error persists. I have implemented the logic to retrieve the FCM token, hat the necessary permissions are granted in my app.Here are my Firestore rules: rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { // Allow authenticated users to read and write their own user data match /users/{userId} { allow read: if request.auth != null; allow update: if request.auth != null && (request.auth.uid == userId || // Allow FCM token updates request.resource.data.diff(resource.data).affectedKeys().hasOnly(['fcmToken'])); allow create: if request.auth != null; match /followers/{followerId} { allow read: if request.auth != null; allow write: if request.auth != null && request.auth.uid == followerId; } match /following/{followingId} { allow read: if request.auth != null; allow write: if request.auth != null && request.auth.uid == userId; } match /blockedUsers/{blockedUserId} { allow read, write: if request.auth != null && request.auth.uid == userId; } } // Messages collection match /messages/{messageId} { allow create: if request.auth != null && (request.resource.data.senderId == request.auth.uid || request.resource.data.receiverId == request.auth.uid); allow read, update, delete: if request.auth != null && (resource.data.senderId == request.auth.uid || resource.data.receiverId == request.auth.uid); } // Chats collection match /chats/{chatId} { allow create: if request.auth != null && request.auth.uid in request.resource.data.participants; allow read, update, delete: if request.auth != null && request.auth.uid in resource.data.participants; } // Call-related documents match /calls/{callId} { allow create: if request.auth != null && request.auth.uid in [request.resource.data.callerId, request.resource.data.receiverId]; allow read, write: if request.auth != null && (request.auth.uid == resource.data.callerId || request.auth.uid == resource.data.receiverId); } // Posts match /posts/{postId} { allow read: if true; allow create, update: if request.auth != null; allow delete: if request.auth != null && request.auth.uid == resource.data.userId; } // Reports match /reports/{reportId} { allow create: if request.auth != null; allow read: if request.auth != null; allow update: if request.auth != null; } // ✅ New livestreams collection rule added here match /livestreams/{document} { allow read, write: if request.auth != null; } } } [my index.js](https://developer.apple.com/forums/content/attachment/bffd0276-ece5-4ce9-b08b-83e8770cb8f2) [My code of class AppDelegate](https://developer.apple.com/forums/content/attachment/abba6a58-d513-49d4-a1d4-dc7dfae56e0a) [code of class AVDelegateWrapper:](https://developer.apple.com/forums/content/attachment/acd15ac0-ba9e-415f-9503-aea88377e92f) ` [struct ContentView](https://developer.apple.com/forums/content/attachment/4f75c535-860e-488f-835b-63c76586ac50) ` [And for after Login code : ](https://developer.apple.com/forums/content/attachment/f6af060e-f2bb-417f-af08-a946dd650474) `
0
0
101
Aug ’25
Need Help Updating a Custom WireGuard SPM for Xcode 16 & Swift 6
Hey iOS Dev's, I’m currently working on a Swift Package Manager (SPM) for WireGuard, originally developed by a previous team member. It was working fine in Xcode 15.2, but after upgrading to Xcode 16 and Swift 6, I need to update the SPM to ensure compatibility with my base projects and other projects relying on it. With Apple making Xcode 16 mandatory for app submissions starting April 24, this has become an urgent issue. I’ve searched extensively but haven’t found a working solution yet. Has anyone faced similar challenges with Swift 6 migration and SPM updates? Any insights, best practices, or debugging tips would be greatly appreciated! Let’s connect and collaborate—I’d love to discuss possible solutions! 😊 #iOSDevelopment #Swift6 #Xcode16 #SPM #WireGuard #iOS #Swift #SoftwareEngineering #AppStore
0
0
117
Apr ’25
Sandbox restriction Error 159: Tap to Pay integration in iOS app
Hi all, I am hope someone could assist me with the below error if you ever ran into this during Tap-to-Pay functionality integration on iOS/iPadOS devices. Pre-condition: I have received required entitlements for the Tap-to-Pay integration and created Sandbox test account to validate my development work. Used updated development profile with the new capabilities required for the Integration. When i try to test my flow, i keep receiving this error, with multiple sandbox accounts in developer portal. Error (refreshContext): proxy error handler [ Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.merchantd.transaction was invalidated: failed at lookup with error 159 - Sandbox restriction." UserInfo={NSDebugDescription=The connection to service named com.apple.merchantd.transaction was invalidated: failed at lookup with error 159 - Sandbox restriction.} ] I greatly appreciate if anyone faced this issue or any knowledge on how to address this error. Thanks in advance. Best regards, Govardhan.
0
0
279
Jul ’25
unsupported option '-G' for target 'arm64-apple-ios12.0'
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
Replies
0
Boosts
0
Views
157
Activity
May ’25
iOS 26 CarPlay Widgets
My company's app has a few widgets and a couple of them we do not want to show up on CarPlay due to safety concerns when iOS 26 releases. I understand Apple's recommended way to prevent users from using your widget in CarPlay is to use the .disfavoredLocations([.carPlay], for: [.systemSmall]), and this puts your widget in the 'Other' section of the widgets. https://developer.apple.com/download/files/CarPlay-Developer-Guide.pdf However, this .carPlay widget location is only available in Xcode 26, and our app cannot be built on Xcode 26 yet due to some build errors. We are able to fix those build errors in a separate branch, but we won't be doing our official release builds on Xcode 26 until it is out of beta, which is usually right before iOS 26 officially releases to general audiences. We release our app versions on a monthly cadence, so the version that will be out when iOS 26 comes out is already in testing. Is there any existing way we can disable this widget on CarPlay so it does not appear to work when tapped? Currently, it opens our CarPlay app, but the CarPlay app does nothing with it. On the iPhone, when you tap the widget it opens our app and performs a function. We don't wan't to disable it on the iPhone, just when it's on CarPlay. We don't have time before the app release to implement the same functionality on our CarPlay app. I haven't found any reliable way to detect if the widget is running in the CarPlay location versus the iPhone home screen. Thanks in advance for any assistance.
Replies
0
Boosts
13
Views
344
Activity
Aug ’25
SFSpeechRecognizer is not working inside visionOS 2.4 simulator
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() } . . . } }
Replies
0
Boosts
0
Views
167
Activity
May ’25
SwiftSupport is missing
I'm trying to distribute an app for internal testing but I'm always getting the below error and the SwiftSupport folder is not created although I tried different fixes/configurations. How can I debug/see the reason why the SwiftSupport folder is not generated? Xcode 16.4 Build version 16F6 I tried distributing from the Transporter, Xcode organizer, I tried to archive it both from Xcode and from the command line. There are a couple of answers on StackOverflow, nothing helped. What could be the problem? One of the things I tried: xcodebuild \ -project PhotoBook.xcodeproj \ -scheme PhotoBook \ -configuration Release \ -archivePath Release/PhotoBook.xcarchive \ -destination 'generic/platform=iOS' \ -verbose \ archive xcodebuild \ -exportArchive \ -archivePath Release/PhotoBook.xcarchive \ -exportPath Release \ -exportOptionsPlist ExportOptions.plist \ -destination 'generic/platform=iOS' \ -verbose ExportOptions.plist <?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>method</key> <string>app-store-connect</string> <key>teamID</key> <string>T672CQXP54</string> <key>uploadSymbols</key> <true/> <key>uploadBitcode</key> <false/> <key>signingStyle</key> <string>manual</string> <key>provisioningProfiles</key> <dict> <key>com.mandelbrotsc.PhotoBook</key> <string>iOS Distribution Profile</string> </dict> </dict> </plist> The error: ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.
Replies
0
Boosts
1
Views
75
Activity
Aug ’25
Xcode26beta5,使用iOS17.6设备运行,直接崩溃_NSUserActivityTypeBrowsingWeb
dyld[2515]: Symbol not found: _NSUserActivityTypeBrowsingWeb Referenced from: /private/var/containers/Bundle/Application/94D2F46D-70B0-4770-9DC3-50953F03A984/jiaxiaozhijia-ios.app/jiaxiaozhijia-ios.debug.dylib Expected in: <3BCD2D21-B96D-3B5F-8C58-3AFFFD6466A4> /System/Library/Frameworks/CoreServices.framework/CoreServices Symbol not found: _NSUserActivityTypeBrowsingWeb Referenced from: /private/var/containers/Bundle/Application/94D2F46D-70B0-4770-9DC3-50953F03A984/jiaxiaozhijia-ios.app/jiaxiaozhijia-ios.debug.dylib Expected in: <3BCD2D21-B96D-3B5F-8C58-3AFFFD6466A4> /System/Library/Frameworks/CoreServices.framework/CoreServices dyld config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/usr/lib/libLogRedirect.dylib:/usr/lib/libBacktraceRecording.dylib:/usr/lib/libMainThreadChecker.dylib:/usr/lib/libRPAC.dylib:/usr/lib/libViewDebuggerSupport.dylib:/System/Library/PrivateFrameworks/GPUToolsCapture.framework/GPUToolsCapture 请告诉我们该怎么做?现在xcode26beta5版本是不是还没有修复?
Replies
0
Boosts
0
Views
141
Activity
Aug ’25
Future configuration options and support for custom MCP servers in Xcode
I’m exploring the new AI-assisted development features in Xcode 26, particularly the integration with MCP (Model Context Protocol) servers. I have two related questions about future capabilities: 1. Configuration flexibility – Will future versions of Xcode provide more granular configuration options? For example, being able to adjust model parameters, set custom request headers? 2. Custom MCP servers – Will it be possible to connect Xcode to a custom MCP servers? It would be great to know if these capabilities are on the roadmap, and if so, what the expected level of customization might be. Thank you.
Replies
0
Boosts
1
Views
71
Activity
Aug ’25
APNS NULL
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'); } }
Replies
0
Boosts
0
Views
109
Activity
Apr ’25
Swift Testing Failed to complete Unit Tests -> not enough values to unpack (expected 2, got 1)
I’m migrating some XCTest cases to Swift Testing and hit a runtime error when using tuple arguments within the CI. I don't have an issue when running locally. [2025-08-21 14:22:13.493] [unit_tests] [WARNING] Could not find test status list for -[FooManagerTests testEndpoint(region:enforce:expectedEndpoint:)] [2025-08-21 14:22:18.054] [unit_tests] [ERROR] not enough values to unpack (expected 2, got 1) ##[error]Failed to complete Unit Tests -> not enough values to unpack (expected @Test("Telemetry endpoint routing", arguments: [ (TelemetryRegion.value1, false, Foo.someValue1), (TelemetryRegion.value2, false, Foo.someValue2), (TelemetryRegion.value3, true, Foo.someValue3), (TelemetryRegion.value4, false, Foo.someValue4), ]) func testEndpoint(region: enforce: expectedEndpoint: ) { ... }
Replies
0
Boosts
0
Views
133
Activity
Aug ’25
Unable to apply stashed changes
I am trying to perform an unstash operation. I RC on the stash to restore, select "Apply Stashed Changes". It then launches a comparison window to allow me to cherrypick the changes I want to include. However, the button along the bottom, "Apply Changes" is grayed out and remains so no matter what I do. Switching stashes, exiting and restarting xcode. TG i made an emergency project backup right before I did the stash, just for a case like this. Bug? Feature?
Replies
0
Boosts
1
Views
60
Activity
Apr ’25
Why does dependency analysis work for a script that outputs a folder that is copied in copy bundle resources but not once that script is moved to an aggregate target?
This question is a component of this question and an extension to this question which has been solved. This situation might feel a pinch constructed but it is a simplified version of one step of the original question. Basically in my app I have a script that outputs a folder with a few files inside of it. This folder is output to $(BUILT_PRODUCTS_DIR)/build/ and is referenced via a PBXBuildFile. Because I put a wait in the script (to simulate a long build I have in my real project) it is very obvious when the script is or isn't run. The goal would be for it to run only when its dependencies have changed. The trick is if I put this script as a "run script" phase within my final target dependency analysis works great. The script only runs when the dependencies are updated. However if I put the "run script" phase into an aggregate target then add it as a Target Dependency in the main target Xcode wants to run the script every time. Regardless of if the dependencies have changed. However if you build just the aggregate target alone everything goes just fine. It only builds when it has to. To me this does not quite make sense. I thought that dependency analysis of the script within my aggregate target would be the same regardless of whether that script was within the aggregate target or the main target. In my app I ideally need the aggregate target to be shared by multiple other targets. While I could put the script in each it would be more foolproof to have them share an aggregate target. Why would dependency analysis come to a different conclusion when the script is within an aggregate target that is a target dependency of the main target? If it helps here is the script and the entire project can be found here on GitHub if you would like to play with it. mkdir -p "${SCRIPT_OUTPUT_FILE_0}/build/" echo "Pausing for 10 seconds before creating files..." sleep 10 cat "${SCRIPT_INPUT_FILE_0}" cat > "${SCRIPT_OUTPUT_FILE_0}/build/index.html" << EOF <!DOCTYPE html> <html> <head> <title>Simple Page</title> </head> <body> <h1>Welcome to Simple Page</h1> <p>Generated at: $(date)</p> </body> </html> EOF cat > "${SCRIPT_OUTPUT_FILE_0}/build/page.html" << 'EOF' <!DOCTYPE html> <html> <head> <title>Simple Page</title> </head> <body> </body> </html> EOF
Replies
0
Boosts
0
Views
89
Activity
Aug ’25
This content was automatically upgraded and should be served over HTTPS
Xcode16.2+iOS18以上的系统,加载图片http类型的url时,会自动升级为https,下面是Safari自动打印的日志:This content was automatically upgraded and should be served over HTTPS.有什么解决方案吗?
Replies
0
Boosts
0
Views
117
Activity
Apr ’25
load_eligibility_plist errors
I'm just getting started with swift development using Xcode 164 on a MacBook Pro running Sequoia 15.6. When I try to run the simplest "Hello World" app against iPhone simulators, I get the error messages below. I've looked at that location and none of the directory structure /private/var/db/eligibilityd below the 2224B135-8383-4C69-B339-B6DF9D88F6FD folder exists. Just wondering if I have a config error somewhere or if there's somewhere else I should be looking to correct this. It doesn't occur when I run on a physical iPhone device. Error message: load_eligibility_plist: Failed to open /Users/****/Library/Developer/CoreSimulator/Devices/DB1919F3-ECB8-4C55-817C-85B68F083F57/data/Containers/Data/Application/2224B135-8383-4C69-B339-B6DF9D88F6FD/private/var/db/eligibilityd/eligibility.plist: No such file or directory(2) Failed to send CA Event for app launch measurements for ca_event_type: 0 event_name: com.apple.app_launch_measurement.FirstFramePresentationMetric Failed to send CA Event for app launch measurements for ca_event_type: 1 event_name: com.apple.app_launch_measurement.ExtendedLaunchMetrics
Replies
0
Boosts
2
Views
340
Activity
Aug ’25
Xcode16.2 + iOS18以上系统,http自动转为https
Xcode16.2 加 iOS18 以上的系统加载图片 http 类型的 url 时, http 链接会自动升级为 https,请问有处理方案吗?浏览器报错信息如下:This content was automatically upgraded and should be served over HTTPS.
Replies
0
Boosts
0
Views
221
Activity
Apr ’25
Configure document used by my swiftui document app
Trying to configure info.plist and the base application the application works with the application. I consistently get two errors. Validation failed Disallowed UTTypes value. The Info.plist key 'UTTypeIdentifier' under 'UTImportedTypeDeclarations' in 'Blood Pressure Management V2.0.app' has disallowed values '[com.example.item-document]'. A Uniform Type Identifier starting with one of the patterns in the list '( "com.example." )' is disallowed. (ID: f2dbfe04-4f06-47ac-b74f-28ec238238c4) Validation failed The product archive is invalid. The value of the CFBundleDocumentTypes key in the Info.plist must be an array of dictionaries, with each dictionary containing at least the CFBundleTypeName key. (ID: fad3e65a-dc9d-4d9e-9506-703b874f71c6) Is there any clear documentation with examples? I have not found it yet.
Replies
0
Boosts
0
Views
63
Activity
Aug ’25
xcode 16.3 now not selecting correct Signing Certificate with Automatically Manage Signing Selected
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
Replies
0
Boosts
0
Views
108
Activity
May ’25
No FCM token found
The issue I am facing is that even when I run my app from a physical device, I get the error "No FCM token found," while push notifications are enabled in my Xcode capabilities. I don't see the FCM token generated in the users' collection on Firestore. While the code setup seems good, the same error persists. I have implemented the logic to retrieve the FCM token, hat the necessary permissions are granted in my app.Here are my Firestore rules: rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { // Allow authenticated users to read and write their own user data match /users/{userId} { allow read: if request.auth != null; allow update: if request.auth != null && (request.auth.uid == userId || // Allow FCM token updates request.resource.data.diff(resource.data).affectedKeys().hasOnly(['fcmToken'])); allow create: if request.auth != null; match /followers/{followerId} { allow read: if request.auth != null; allow write: if request.auth != null && request.auth.uid == followerId; } match /following/{followingId} { allow read: if request.auth != null; allow write: if request.auth != null && request.auth.uid == userId; } match /blockedUsers/{blockedUserId} { allow read, write: if request.auth != null && request.auth.uid == userId; } } // Messages collection match /messages/{messageId} { allow create: if request.auth != null && (request.resource.data.senderId == request.auth.uid || request.resource.data.receiverId == request.auth.uid); allow read, update, delete: if request.auth != null && (resource.data.senderId == request.auth.uid || resource.data.receiverId == request.auth.uid); } // Chats collection match /chats/{chatId} { allow create: if request.auth != null && request.auth.uid in request.resource.data.participants; allow read, update, delete: if request.auth != null && request.auth.uid in resource.data.participants; } // Call-related documents match /calls/{callId} { allow create: if request.auth != null && request.auth.uid in [request.resource.data.callerId, request.resource.data.receiverId]; allow read, write: if request.auth != null && (request.auth.uid == resource.data.callerId || request.auth.uid == resource.data.receiverId); } // Posts match /posts/{postId} { allow read: if true; allow create, update: if request.auth != null; allow delete: if request.auth != null && request.auth.uid == resource.data.userId; } // Reports match /reports/{reportId} { allow create: if request.auth != null; allow read: if request.auth != null; allow update: if request.auth != null; } // ✅ New livestreams collection rule added here match /livestreams/{document} { allow read, write: if request.auth != null; } } } [my index.js](https://developer.apple.com/forums/content/attachment/bffd0276-ece5-4ce9-b08b-83e8770cb8f2) [My code of class AppDelegate](https://developer.apple.com/forums/content/attachment/abba6a58-d513-49d4-a1d4-dc7dfae56e0a) [code of class AVDelegateWrapper:](https://developer.apple.com/forums/content/attachment/acd15ac0-ba9e-415f-9503-aea88377e92f) ` [struct ContentView](https://developer.apple.com/forums/content/attachment/4f75c535-860e-488f-835b-63c76586ac50) ` [And for after Login code : ](https://developer.apple.com/forums/content/attachment/f6af060e-f2bb-417f-af08-a946dd650474) `
Replies
0
Boosts
0
Views
101
Activity
Aug ’25
Xcode local documentation location
Where are the local documentation files location on MacOS? None of the existing data on the internet is applicable anymore. Trying to bundle documentation for use in an LLM and the developer site is unusable for crawling. Thanks! *.docset
Replies
0
Boosts
0
Views
64
Activity
May ’25
Icon Composer and App Playground
How to add an app icon created in Icon Composer to an App Playground project?
Replies
0
Boosts
0
Views
130
Activity
Jul ’25
Need Help Updating a Custom WireGuard SPM for Xcode 16 & Swift 6
Hey iOS Dev's, I’m currently working on a Swift Package Manager (SPM) for WireGuard, originally developed by a previous team member. It was working fine in Xcode 15.2, but after upgrading to Xcode 16 and Swift 6, I need to update the SPM to ensure compatibility with my base projects and other projects relying on it. With Apple making Xcode 16 mandatory for app submissions starting April 24, this has become an urgent issue. I’ve searched extensively but haven’t found a working solution yet. Has anyone faced similar challenges with Swift 6 migration and SPM updates? Any insights, best practices, or debugging tips would be greatly appreciated! Let’s connect and collaborate—I’d love to discuss possible solutions! 😊 #iOSDevelopment #Swift6 #Xcode16 #SPM #WireGuard #iOS #Swift #SoftwareEngineering #AppStore
Replies
0
Boosts
0
Views
117
Activity
Apr ’25
Sandbox restriction Error 159: Tap to Pay integration in iOS app
Hi all, I am hope someone could assist me with the below error if you ever ran into this during Tap-to-Pay functionality integration on iOS/iPadOS devices. Pre-condition: I have received required entitlements for the Tap-to-Pay integration and created Sandbox test account to validate my development work. Used updated development profile with the new capabilities required for the Integration. When i try to test my flow, i keep receiving this error, with multiple sandbox accounts in developer portal. Error (refreshContext): proxy error handler [ Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.merchantd.transaction was invalidated: failed at lookup with error 159 - Sandbox restriction." UserInfo={NSDebugDescription=The connection to service named com.apple.merchantd.transaction was invalidated: failed at lookup with error 159 - Sandbox restriction.} ] I greatly appreciate if anyone faced this issue or any knowledge on how to address this error. Thanks in advance. Best regards, Govardhan.
Replies
0
Boosts
0
Views
279
Activity
Jul ’25