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

Xcode Documentation

Posts under Xcode subtopic

Post

Replies

Boosts

Views

Activity

NSE Filtering Entitlement Rejected Repeatedly – Seeking Advice & Possible Solutions
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! 🙏
0
0
64
Mar ’25
Is SFSymbol Customization officially valid as a method for using SVG in embedded widgets (lock-screen & watchOS)?
Is SFSymbol Customization officially valid as a method for using SVG in embedded widgets (lock-screen & watchOS)? I use this in UnitedPizzaHelper but wonder whether this is the prime cause why all widgets of this app gets missing on iOS devices? This issue only happened on at least 2 device in the recent 12 months (they are all on iOS 18, and one of them is running iOS 18.5... Rebooting device won't work.), and we currently have no clue how to troubleshoot this. Update: The guy running iOS 18.5 told me that the widgets are now discoverable after waiting for minutes. Seems that this is a random issue.
0
0
70
Jun ’25
Latest Xcode build giving multiple system level errors
with the latest Xcode version, i am getting all kinds of errors: few main ones: /Users/akashbhatia/MyApp/ios/Pods/Target Support Files/ReactCodegen/ReactCodegen-prefix.pch:2:9 Could not build module 'UIKit' /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator18.4.sdk/System/Library/Frameworks/CFNetwork.framework/Headers/CFNetwork.h:18:10 Could not build module 'CoreFoundation' /Users/akashbhatia/MyApp/ios/Pods/Headers/Public/RCT-Folly/folly/portability/Config.h:20:10 'folly/folly-config.h' file not found I have reinstalled Xcode, removed derived data, installed pod over and over again, but I have realized from the first error here, that it has more to do with Xcode and React Native now. Any help will be appreciated.
0
0
86
Apr ’25
Ionic In App Purchase Products not showing on Simulators iOS 18.5 but showing on real devices.
Hi guys, i have an issue with my app, i am able to view in app purchase products from my deployed hybrid app (Ionic 8 with Capacitor 7) IOS platform. My inapp products are displaying on real device os 18.5 but on simulators there are no products. Is there a bug or something. Simulators tested 16 Pro max iPad m4, and iPad 5th gen all 18.5 other versions below the products does show and on real device. Your assistance will be much appreciated.
0
0
59
Jun ’25
Refactor->Rename "Refactoring Engine Failure"
For Xcode 15 and Xcode 16, whenever I try to use the Refactor->Rename command I get a spinning busy cursor for a short while then I get an alert that says: Rename Failed Refactoring engine failure. This happens on several projects and I've tried removing the derived data folder, but am at a loss to find additional troubleshooting steps. Are there other files I might remove or reset to get my "Refactoring Engine" back into shape?
0
0
162
Jun ’25
Google map APIs not working in my app with xcode 16.3
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=station%20bab%20saadoun&key=GOOGLE_API_KEY&components=country:TN func googleAutocomplete(for query: String, completion: @escaping ([GooglePlaces]) -> Void) { let apiKey = GoogleMapAPIs.shared.apiKey let baseURL = "https://maps.googleapis.com/maps/api/place/autocomplete/json" guard let url = URL(string: "\(baseURL)?input=\(query)&key=\(apiKey)&components=country:TN") else { print("Invalid URL") completion([]) return } print(url) let task = URLSession.shared.dataTask(with: url) { data, response, error in if let error = error { print("Error fetching data: \(error.localizedDescription)") completion([]) return } guard let data = data else { print("No data received") completion([]) return } do { let decodedResponse = try JSONDecoder().decode(GooglePlacesResponse.self, from: data) completion(decodedResponse.predictions) } catch { print("Decoding error: \(error)") completion([]) } } task.resume() } struct GooglePlaces: Codable { let title: String? let region: StructuredFormatting? let placeID: String? enum CodingKeys: String, CodingKey { case title = "description" case region = "structured_formatting" case placeID = "place_id" } } struct StructuredFormatting: Codable { let main_text: String let secondary_text: String? } struct GooglePlacesResponse: Codable { let predictions: [GooglePlaces] } Error fetching data: The network connection was lost.
0
0
62
Apr ’25
Can you use an external macOS device as an Xcode run destination?
Just wondering if it is possible to configure a secondary macbook to act as a run destination in Xcode, similar to how you would configure an iPhone as a run destination. I have tried connecting my device via USB-C and I can see that my macbook detects the second macbook via USB but it does not show up when trying to add devices in Xcode. I suppose this flow might not be supported?
0
0
144
May ’25
Best strategy to embed multiple dylibs into frameworks
Hi, I compiled Intel Open Image Denoise library for iOS, and obtained a bunch of dependent dylibs. I want to use these ones in a swift project (via bridging as this is C/C++) targeting the iPad. I understand that it is required to embed these dylibs into frameworks as iOS doesn't allow dylib. Is it necessary to generate one framework for each dylib? If so, how are dependencies between the libraries (and their frameworks) managed? Or, is it possible to generate only one framework embeding all the dependencies?
0
0
139
Jun ’25
openURL:options:completionHandler: Simulator Bug
Xcode 16.2. When calling openURL:options:completionHandler: when in the simulator for a link in the app store (for example: http://itunes.apple.com/us/app/slidewords/id503737864?mt=8) behavior is fine for simulated iPads, not for simulated iPhones. When the simulated device is an iPad, the call correctly opens the app store link. When the simulated device is an iPhone, an error message "Safari cannot open the page because the address is invalid." Note: the call works on an an actual iPhone (iPhone SE 3rd generation, unsure about other devices).
0
0
48
Apr ’25
Xcode Preview & Simulator test failed
I upgraded IOS to 15.5 yesterday and then my xcode failed to preview today. The error message I got is: Communication with Apple failed Your team has no devices from which to generate a provisioning profile. Connect a device to use or manually add device IDs in Certificates, Identifiers & Profiles. https://developer.apple.com/account/ Any one knows how to fix it?
0
0
141
Jun ’25
The behavior of the app using the Promises library changes between Xcode 15.4 and Xcode 16.2.
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
0
0
158
Mar ’25
Xcode 16.2: build fails with errors from another project
When I thought Xcode could not get any worse, here's the most absurd thing I have ever seen developing software in almost 20 years of work. When building a project, which I haven't touched lately, and last time it was building just fine, it raised errors on a class that doesn't even belong in any way to such project, it only exists in another one. To clarify, we're talking of a project written in C++ which runs only on mac, which is failing due to linker errors, where the linker can not find symbols of a class living in a different project and that is not referenced in any way inside this project. I mean, really? how does Apple manage to make Xcode more and more unstable by the minute? Starting from Xcode 15.1 I was already experiencing much longer building times, due to the fact that it doesn't manage the cache properly and is rebuilding lots of stuff every time..
0
0
43
Apr ’25
How to retrieve required Apple Pay parameters for PayFort payment request in Swift?
I'm integrating Apple Pay with PayFort in a Swift iOS application, and I’m currently working on preparing a valid purchase request using Apple Pay, as described in PayFort’s documentation: 🔗 https://docsbeta.payfort.com/docs/api/build/index.html?shell#apple-pay-authorization-purchase-request The documentation outlines the following required parameters: apple_data apple_signature apple_header apple_transactionId apple_ephemeralPublicKey apple_publicKeyHash apple_paymentMethod apple_displayName apple_network apple_type Optional: apple_applicationData I understand these should be derived from the PKPayment object after Apple Pay authorization, but I’m having trouble mapping everything correctly. Here’s what I’m seeing in code: payment.token // Returns something like: <PKPaymentToken: 0x28080ae80; transactionIdentifier: "..."; paymentData: 3780 bytes> payment.token.paymentData // Contains 3780 bytes of encrypted data payment.token.paymentData.base64EncodedString() // Returns a long base64 string, which at first glance seems like it could be used for apple_data, // but PayFort doesn't accept it as-is — so this value appears to be incomplete or incorrectly formatted I can successfully retrieve the following values from payment.token.paymentMethod: apple_displayName apple_network apple_type However, I’m still unsure how to extract or build the following in the format accepted by PayFort: apple_data apple_signature apple_header apple_transactionId apple_ephemeralPublicKey apple_publicKeyHash apple_paymentMethod These may be contained within the paymentData JSON, but I’m not sure how to decode it or if Apple allows decrypting it in a way that matches PayFort’s expected format. How can I correctly extract or build apple_data, apple_signature, and apple_header from the Apple Pay token? Also, how should I handle the decryption or decoding (if necessary) of paymentData to retrieve values like apple_transactionId, apple_ephemeralPublicKey, and apple_publicKeyHash? If anyone has successfully set this up or has example code that bridges Apple Pay and PayFort’s expected request format, it would be super helpful! Thanks in advance 🙏
0
0
90
Apr ’25
Trouble Distributing iOS + WatchOS App as a Bundle (Info.plist / Target Confusion)
Hi all, I’m running into an issue with my iOS + Apple Watch app project, and I could really use some advice. My WatchOS app requires an iOS companion for settings and configuration, so both apps need to be distributed together. Here’s how I structured my Xcode project: Main iOS App target WatchOS App target WatchOS Extension target However, I’m very confused about how these targets interact, and things are not working as expected. The problem: I can build and run the WatchOS app and its extension independently in the simulator by selecting their schemes. When I select the main iOS app scheme, I get an error about ITSWatchOnlyContainer in the Info.plist—even though there’s no Info tab for that target in Xcode. I’m able to distribute the WatchOS app by itself, and the extension as well. But I can’t distribute them bundled together as a single package, and I haven’t found any clear resources that explain how to fix this. This is my very first app, and it’s frustrating to get stuck just before the finish line! Project Structure / steps to reproduce Let’s say my project is called MyAppProject, with these targets: MyAppProject Main iOS App Embedded target: MyAppProject Watch App Bundle identifier: com.example.MyAppProject MyAppProject Watch App WKCompanionAppBundleIdentifier: com.example.MyAppProject “Requires iOS App”: YES MyAppProject Extension Bundle identifier: com.example.MyAppProject When running from the MyAppProject scheme, I get this error (even though I can’t see or edit the Info.plist in Xcode for this target): “Please try again later. This app has the ITSWatchOnlyContainer key set in its Info.plist, which identifies it as a shell app surrounding a Watch-only app; these are not installable.” As a result, I can’t distribute the app as a bundle. I’d appreciate help understanding: How should the Info.plist files be configured for each target? What do I do if the Info.plist path seems missing in the Xcode UI? Is there a “correct” way to structure an iOS + WatchOS app for bundled distribution?
0
0
123
Jun ’25
How to setup a directory in Xcode project 16.2
the Xcode Version 16.2 (16C5032a), I want to know how to setup a directory in Xcode project when develop the iOS app. Here is the whole thing: I start a new iOS App project "test_path". then I right click, and choose "New Folder", to make a new folder "configx" then I right click on the configx folder, and choose the "add files to test_path", add a file in it But the folder does not exist in the project when try to access by "Bundle.main.urls" func. 5. when ls in the Mac, /data/Containers/Bundle/Application/E4F11903-3FAD-467F-A4CD-60AC68D64934/test_path.app, the file just at the root path of test_path.app, no "configx" folder ahead the file. so, how to setup a directory or a path in iOS project?
0
0
94
Mar ’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
57
Apr ’25
Objective-C headers build fine with swift but not with Xcode
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.
0
0
134
May ’25