Dive into the vast array of tools and services available to developers.

Posts under General subtopic

Post

Replies

Boosts

Views

Activity

Why is my device, in a free developer account under the age of majority, allowing beta updates?
I am a developer with a free developer account, and my account is under the legal age of majority. I know that, according to the terms in Section 6 of the Apple Developer Agreement, I must be the legal age of majority to use pre-release software, and yet the Software Update section of Settings on my device would allow me to install a beta release of iOS 26. Is there a way for me to hide/remove this option without signing out of my account, and not have it appear again as an option until I reach the age of majority?
1
0
103
Dec ’25
Error Message - Rork Publishing in Apple IOS
Hi, I keep getting an error message when I try to publish my App made with Rork into Apple IOS. Message reads "Submission failed: Submission failed. Contact support. Don’t dump it on Rork — it won’t fix this. We still need a human." Any help with this would be appreciated. I am using Microsoft edge and have also used Google Chrome.
1
0
79
Nov ’25
Command line compilation problem, standard includes not found
This example fails to compile on Sequoia 15.4 with Xcode 16.3 and the command line tools installed; jacquesmenu@macstudio:C++Tests > cat pcount_test.cpp // clang++ -std=c++17 -o IntWrapperTest IntWrapperTest.cpp #include // std::string #include // std::cout #include // std::ostringstream int main1 (int argc, char* argv[]) { std::string theString = "Prière d'éviter"; std::cout << theString << ", size(): " << theString.size () << std::endl; std::stringstream oss; oss << theString << std::endl; std::cout << oss.str () << ", pcount(): " << oss.pcount () << std::endl; } //_______________________________________________________________________________ // position in output stream #include // std::ofstream int main () { std::ofstream outfile; outfile.open ("test.txt"); outfile.write ("This is an apple",16); long pos = outfile.tellp(); outfile.seekp (pos-7); outfile.write (" sam",4); outfile.close(); return 0; } jacquesmenu@macstudio:C++Tests > clang++ pcount_test.cpp pcount_test.cpp:3:10: fatal error: 'string' file not found 3 | #include // std::string | ^~~~~~~~ 1 error generated. The same occurs with iostrem if it is the first include mentioned. Compiling in Xcode itself does not this problem, though. This include is to be found here: jacquesmenu@macstudio:C++Tests > xcode-select -p /Applications/Xcode.app/Contents/Developer jacquesmenu@macstudio:C++Tests > ls -sal /Applications/Xcode.app/Contents/Developer/**/string | grep MacOSX 72 -rw-r--r-- 10 root wheel 203802 Mar 8 06:17 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/string
3
0
142
Apr ’25
Unable to open mach-O at path
Hi, there's this point at which a beginner needs to beg for help. Unable to open mach-O at path: /Library/Caches/com.apple.xbs/Binaries/RenderBox/install/Root/System/Library/PrivateFrameworks/RenderBox.framework/default.metallib Error:2 I get this everytime I select a month and year on a custom date picker, I believe because I try to force the ".generateChartData()" for the chart to update. I guess the problem might be that the ".onAppear" and ".onChange" are conflicting with each other? } .onChange(of: showDatePicker) { viewModel.startDate = selectedDate viewModel.generateChartData() } } .onAppear { viewModel.generateChartData() }
1
0
172
Apr ’25
Testing and Debugging Code Running in the Background
I regularly bump into folks confused by this issue, so I thought I’d collect my thoughts on the topic into a single (hopefully) coherent post. If you have questions or comments, put them in a new thread here on the forums. Feel free to use whatever subtopic and tags that apply to your situation, but make sure to add the Debugging tag so that I see your thread go by. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = "eskimo" + "1" + "@" + "apple.com" Testing and Debugging Code Running in the Background I regularly see questions like this: My background code works just fine in Xcode but fails when I download the app from the App Store. or this: … or fails when I run my app from the Home screen. or this: How do I step through my background code? These suggest a fundamental misunderstanding of how the debugger interacts with iOS’s background execution model. The goal of this post is to explain that misunderstanding so that you can effectively test and debug background code. Note The focus of this post is iOS. The advice here generally applies to any of iOS’s ‘child’ platforms, so iPadOS, tvOS, and so on. However, there will be some platform specific differences, especially on watchOS. This advice here doesn’t apply to macOS. It’s background execution model is completely different than the one used by iOS. Understand the Fundamentals The key point to note here is that the debugger prevents your app from suspending. This has important consequences for iOS’s background execution model. Normally: iOS suspends your app when it’s in the background. Once your app is suspended, it becomes eligible for termination. The most common reason for this is that the system wants to recover memory, but it can happen for various other reasons. For example, the system might terminate a suspended app in order to update it. Under various circumstances your app can continue running after moving to the background. A great example of this is the continued processed task feature, introduced in iOS 26 beta. Alternatively, your app can be resumed or relaunched in the background to perform some task. For example, the region monitor feature of Core Location can resume or relaunch your app in the background when the user enters or leaves a region. If no app needs to be executing, the system can sleep the CPU. None of this happens in the normal way if the debugger is attached to your app, and it’s vital that you take that into account when debugging code that runs in the background. An Example of the Problem For an example of how this can cause problems, imagine an app that uses an URLSession background session. A background session will resume or relaunch your app in the background when specific events happen. This involves two separate code paths: If your app is suspended, the session resumes it in the background. If your app is terminated, it relaunches it in the background. Neither code path behaves normally if the debugger is attached. In the first case, the app never suspends, so the resume case isn’t properly exercised. Rather, your background session acts like it would if your app were in the foreground. Normally this doesn’t cause too many problems, so this isn’t a huge concern. On the other hand, the second case is much more problematic. The debugger prevents your app from suspending, and hence from terminating, and thus you can’t exercise this code path at all. Seek Framework-Specific Advice The above is just an example, and there are likely other things to keep in mind when debugging background code for a specific framework. Consult the documentation for the framework you’re working with to see if it has specific advice. Note For URLSession background sessions, check out Testing Background Session Code. The rest of this post focuses on the general case, offering advice that applies to all frameworks that support background execution. Run Your App Outside of Xcode When debugging background execution, launch your app from the Home screen. For day-to-day development: Run the app from Xcode in the normal way (Product > Run). Stop it. Run it again from the Home screen. Alternatively, install a build from TestFlight. This accurately replicates the App Store install experience. Write Code with Debugging in Mind It’s obvious that, if you run the app without attaching the debugger, you won’t be able to use the debugger to debug it. Rather: Extract the core logic of your code into libraries, and then write extensive unit tests for those libraries. You’ll be able to debug these unit tests with the debugger. Add log points to help debug your integration with the system. Treat your logging as a feature of your product. Carefully consider where to add log points and at what level to log. Check this logging code into your source code repository and ship it — or at least the bulk of it — as part of your final product. This logging will be super helpful when it comes to debugging problems that only show up in the field. My general advice is that you use the system log for these log points. See Your Friend the System Log for lots of advice on that front. One of the great features of the system log is that disabled log points are very cheap. In most cases it’s fine to leave these in your final product. Attach and Detach In some cases it really is helpful to debug with the debugger. One option here is to attach to your running app, debug a specific thing, and then detach from it. Specifically: To attach to a running app, choose Debug > Attach to Process > YourAppName in Xcode. To detach, choose Debug > Detach. Understand Force Quit iOS allows users to remove an app from the multitasking UI. This is commonly known as force quit, but that’s not a particularly accurate term: The multitasking UI doesn’t show apps that are running, it shows apps that have been run by the user. The UI shows recently run apps regardless of whether they’re in the foreground, running in the background, suspended, or terminated. So, removing an app from the UI may not actually quit anything. Removing an app sets a flag that prevents the app from being launched in the background. That flag gets cleared when the user next launches the app manually. Note In some circumstances iOS will not honour this flag. The exact cases where this happens are not documented and have changed over time. Keep these behaviours in mind as you debug your background execution code. For example, imagine you’re trying to test the URLSession background relaunch code path discussed above. If you force quit your app, you’ll never hit this code path because iOS won’t relaunch your app in the background. Rather, add a debug-only button that causes your app to call exit. IMPORTANT This suggestion is for debugging only. Don’t include a Quit button in your final app! This is specifically proscribed by QA1561. Alternatively, if you’re attached to your app with Xcode, simply choose Product > Stop. This is like calling exit; it has no impact on your app’s ability to run in the background. Test With Various Background App Refresh Settings iOS puts users in control of background execution via the options in Settings > General > Background App Refresh. Test how your app performs with the following settings: Background app refresh turned off overall Background app refresh turned on in general but turned off for your app Background app refresh turned on in general and turned on for your app IMPORTANT While these settings are labelled Background App Refresh, they affect subsystems other than background app refresh. Test all of these cases regardless of what specific background execution feature you’re using. Test Realistic User Scenarios In many cases you won’t be able to fully test background execution code at your desk. Rather, install a TestFlight build of your app and then use the device as a normal user would. For example: To test Core Location background execution properly, actual leave your office and move around as a user might. To test background app refresh, use your app regularly during the day and then put your device on charge at night. Testing like this requires two things: Patience Good logging The system log may be sufficient here, but you might need to investigate other logging solutions that are more appropriate for your product. These testing challenges are why it’s critical that you have unit tests to exercise your core logic. It takes a lot of time to run integration tests like this, so you want to focus on integration issues. Before starting your integration tests, make sure that your unit tests have flushed out any bugs in your core logic. Revision History 2025-08-12 Made various editorial changes. 2025-08-11 First posted.
0
0
222
Aug ’25
WeatherKit "Pricing and Additional Endpoints" question.
In the availability and pricing section, we have reviewed the plans and we will be upgrading to 50 or 100 million calls/month but before we do, we have a couple questions. Does the API have rate limit or throttling? Do you have additional weather forecast endpoints like hail, radar, or pollen forecast? I see in this thread https://developer.apple.com/forums/thread/795642 that air quality is not available Thanks
0
0
191
Aug ’25
Localizing your apps
TL;DR version: AkVox - “Your App in Your User’s Language” Quickly and easily localize your app into as few or as many languages as you want with AkVox. Longer version: AkVox can localize any Xcode project. Simply drag your Exported Localizations folder into AkVox, click translate, then export, and you’re ready to import the translated localizations catalogs back into Xcode. Alas, you cannot import the whole localizations folder as one, you must import each catalog individually, a process that takes around 10 seconds per language. AkVox can also assist you when you’re ready to publish your app on App Store Connect. You can create a list of texts you will enter to promote your app and AkVox will translate them. Again, you can’t apply all your translations to the App Store in ne go, you have to apply each language individually. To make this task less painful, AkVox has a convenient set of buttons to make the copy and paste process as quick and simple as possible. The same arrangement is available when you come to add “mini texts” during setting monetization subscriptions. AkVox employs Google Cloud Translate which means you will need an API Key to be able to run full translations. However, Google offers a generous monthly allowance of 500,000 characters to be translated for free each month. This may well mean that you don’t ever pay for the translation process, just the very low price to use AkVox. The free version of AkVox simulates translating by substituting jumbled versions of Hamlet’s “To be or not to be” speech – this is instead of utilising what would normally be used in this case, the tediously dull Lorem Ipsum text. To see AkVox explained in detail, go to the website: https://akvox.com/
1
0
113
Aug ’25
SystemData and IOS Images
Hi, I’m trying to free up space on my computer and have uninstalled Xcode. However, I noticed that many large files remain on the filesystem even after uninstalling it. The largest remaining files (~33 GB) are iOS Simulator images located at: /System/Volumes/Data/Library/Developer/CoreSimulator/Volumes I attempted to delete them using root privileges, but it seems that these system files are mounted as read-only. I’m reaching out to ask for guidance to ensure that these files do not contain anything important for macOS, and that it’s safe to remove them before getting in recovery mode. Thank you very much for your advice!
0
0
97
Aug ’25
Unable to Enable “Media Services (MusicKit, ShazamKit)” When Creating a Key
I am trying to integrate Apple Music API using MusicKit and need to generate a Developer Token. However, when I try to create a new key from the Certificates, Identifiers & Profiles section, the “Media Services (MusicKit, ShazamKit, Apple Music Feed)” option is grayed out. We are getting the error 'there are no identifiers available that can be associated with the key.' Although we did checkmark 'musickit' in app services. I have already: Enrolled in the paid Apple Developer Program Created a valid App ID under Identifiers Logged in as the Account Holder Tried multiple browsers and devices Despite this, the option remains disabled. Could you please enable this or let me know what further steps I need to take? Thank you!
0
0
254
Apr ’25
No Update
My app will not open to myself or to clients and has a pop up that claims "App Outdated" The app version you are using is no longer supported. Please install he latest Heartland update through the App Store. However, there have been no updates to the app.
1
0
127
Aug ’25
Replace Apple Clang with Vanilla Clang, what can go wrong?
We are developing a cross platform c++ application. We also use some objective-c (no swift) and specific Apple frameworks like AVFoundation, CoreML in the MacOs version of our software. We use Apple Clang as compiler when building for MacOs. As our code is primarily c++ we would like to use the latest and greatest c++ 20 features. So we are looking into using vanilla clang instead, the builds with vanilla clang seem to work fine, however our concern is that we might have overlooked possible issues that could arise. So our question is whether there are specific things we need to address when switching compilers, are there things that we need to be aware of? In the end we just want to know if switching compilers won't cause problems we can't oversee. So we would like to know if others took the same steps and what your thoughts/experiences are regarding this?
1
0
107
Aug ’25
[Unreal Engine] File missing if packaged with command line
Hello! I am trying to automate iOS builds for my Unreal Engine game using Unreal Automation Tool, but I cannot produce a functionnal build with it, while packaging from XCode works perfectly. I have tracked down the issue to a missing file. I'm using the Firebase SDK that requires a GoogleService-Info.plist file. I have copied this file at the root of my project, as the Firebase documentation suggests. I have not taken any manual action to specify that this file needs to be included in the packaged app. The Firebase code checks the existence of this file using NSString* Path = [[NSBundle mainBundle] pathForResource: @“GoogleService-Info” ofType: @“plist”]; return Path != nil; If I package my app from XCode using Product -> Archive, this test returns true and the SDK is properly initialized. If I package my app using Unreal Engine's RunUAT.sh BuildCookRun, this test returns false and the SDK fails to initialize (and actually crashes upon trying). I have tried several Unreal Engine tricks to include my file, like setting it as a RuntimeDependecies in my projects Build.cs file. Which enables Unreal Engine code to find it, but not this direct call to NSBundle. I would like to know either how to tell Unreal Engine to include files at the root of the app bundle, or what XCode does to automatically include this file and is there a way to script it? I can provide both versions .xcarchive if needed. Thanks!
0
0
150
Sep ’25
[REQUEST] for a tool/method/guidance how to create privacy manifest (PrivacyInfo.xcprivacy) when you don't have Xcode/mac
Hello, PrivacyInfo.xcprivacy Is primordial and without it the app is rejected from the Store I believe. All 5 ressources I had found related to it, mention XCODE, or explain how to add the code to langages that I don't use (Switf i think?) etc. I am building the app thought CI/CD, so prior to building it the app does not have privacy manifest and there is not way to generate it automatically without xcode it seems. My app is written in Flutter prior to becoming an iOS app. I am seeking for a method to do that. Thanks.
1
0
140
Sep ’25
Device token for DeviceCheck API
Hi all, I'm trying to integrate Apple’s DeviceCheck API into my Flutter iOS app. I already have everything set up on the backend — the Apple private key, key ID, team ID, and DeviceCheck capability. The backend is generating and signing the JWT correctly and making requests to Apple. However, I’m currently stuck on the frontend (Flutter): 👉 How can I generate the device_token required by the DeviceCheck API (via DCDevice.generateToken) in a Flutter iOS app? I understand that DCDevice.generateToken() must be called from native Swift code. I previously attempted to use a MethodChannel to bridge this in Swift, but would prefer not to write or maintain native Swift code if possible. I've looked for a prebuilt Flutter package to handle this, but nothing exists or is up-to-date on pub.dev. Main Question: Is there any Apple-supported way to generate the device_token for DeviceCheck from a Flutter app without writing Swift code manually? If not, is DCDevice.generateToken() the only possible approach, and must I implement this via Swift and Flutter platform channels? Thanks!
0
0
193
Apr ’25
iOS 18.5 crash with iPad 7 only
Weirdness going on here. Our app is crashing on startup with iPad 7s running iOS 18.5. Before updating to iOS 18.5, it was working fine on iPad 7s. Even with iOS 18.5, it is working fine on every device we have tried including dozens of other iPads and iPhones. We have narrowed it down to the SquareReaderSDK. If we remove that SDK, it will launch and work without issues. But, many of our users need the SquareReaderSDK. The crash happens at app load, before appDelegate didFinishLaunchingWithOptions. So we can't figure out any way to debug the issue. Is anyone else having a similar issue? Square thinks it is an Apple issue.
4
0
133
Jun ’25
Why is my device, in a free developer account under the age of majority, allowing beta updates?
I am a developer with a free developer account, and my account is under the legal age of majority. I know that, according to the terms in Section 6 of the Apple Developer Agreement, I must be the legal age of majority to use pre-release software, and yet the Software Update section of Settings on my device would allow me to install a beta release of iOS 26. Is there a way for me to hide/remove this option without signing out of my account, and not have it appear again as an option until I reach the age of majority?
Replies
1
Boosts
0
Views
103
Activity
Dec ’25
Error Message - Rork Publishing in Apple IOS
Hi, I keep getting an error message when I try to publish my App made with Rork into Apple IOS. Message reads "Submission failed: Submission failed. Contact support. Don’t dump it on Rork — it won’t fix this. We still need a human." Any help with this would be appreciated. I am using Microsoft edge and have also used Google Chrome.
Replies
1
Boosts
0
Views
79
Activity
Nov ’25
Command line compilation problem, standard includes not found
This example fails to compile on Sequoia 15.4 with Xcode 16.3 and the command line tools installed; jacquesmenu@macstudio:C++Tests > cat pcount_test.cpp // clang++ -std=c++17 -o IntWrapperTest IntWrapperTest.cpp #include // std::string #include // std::cout #include // std::ostringstream int main1 (int argc, char* argv[]) { std::string theString = "Prière d'éviter"; std::cout << theString << ", size(): " << theString.size () << std::endl; std::stringstream oss; oss << theString << std::endl; std::cout << oss.str () << ", pcount(): " << oss.pcount () << std::endl; } //_______________________________________________________________________________ // position in output stream #include // std::ofstream int main () { std::ofstream outfile; outfile.open ("test.txt"); outfile.write ("This is an apple",16); long pos = outfile.tellp(); outfile.seekp (pos-7); outfile.write (" sam",4); outfile.close(); return 0; } jacquesmenu@macstudio:C++Tests > clang++ pcount_test.cpp pcount_test.cpp:3:10: fatal error: 'string' file not found 3 | #include // std::string | ^~~~~~~~ 1 error generated. The same occurs with iostrem if it is the first include mentioned. Compiling in Xcode itself does not this problem, though. This include is to be found here: jacquesmenu@macstudio:C++Tests > xcode-select -p /Applications/Xcode.app/Contents/Developer jacquesmenu@macstudio:C++Tests > ls -sal /Applications/Xcode.app/Contents/Developer/**/string | grep MacOSX 72 -rw-r--r-- 10 root wheel 203802 Mar 8 06:17 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/string
Replies
3
Boosts
0
Views
142
Activity
Apr ’25
Unable to open mach-O at path
Hi, there's this point at which a beginner needs to beg for help. Unable to open mach-O at path: /Library/Caches/com.apple.xbs/Binaries/RenderBox/install/Root/System/Library/PrivateFrameworks/RenderBox.framework/default.metallib Error:2 I get this everytime I select a month and year on a custom date picker, I believe because I try to force the ".generateChartData()" for the chart to update. I guess the problem might be that the ".onAppear" and ".onChange" are conflicting with each other? } .onChange(of: showDatePicker) { viewModel.startDate = selectedDate viewModel.generateChartData() } } .onAppear { viewModel.generateChartData() }
Replies
1
Boosts
0
Views
172
Activity
Apr ’25
Is PacketLogger working for you on Sequoia?
It used to work for me (a few months, maybe a year ago). Right now when I run it there is no output (even though I granted it Bluetooth Capture permissions and have working RFCOMM communication in my program). Versions: PacketLogger 2024.03.18 (2024.03.18d1) Sequoia 15.4.1 M2 chip
Replies
1
Boosts
0
Views
170
Activity
May ’25
Testing and Debugging Code Running in the Background
I regularly bump into folks confused by this issue, so I thought I’d collect my thoughts on the topic into a single (hopefully) coherent post. If you have questions or comments, put them in a new thread here on the forums. Feel free to use whatever subtopic and tags that apply to your situation, but make sure to add the Debugging tag so that I see your thread go by. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = "eskimo" + "1" + "@" + "apple.com" Testing and Debugging Code Running in the Background I regularly see questions like this: My background code works just fine in Xcode but fails when I download the app from the App Store. or this: … or fails when I run my app from the Home screen. or this: How do I step through my background code? These suggest a fundamental misunderstanding of how the debugger interacts with iOS’s background execution model. The goal of this post is to explain that misunderstanding so that you can effectively test and debug background code. Note The focus of this post is iOS. The advice here generally applies to any of iOS’s ‘child’ platforms, so iPadOS, tvOS, and so on. However, there will be some platform specific differences, especially on watchOS. This advice here doesn’t apply to macOS. It’s background execution model is completely different than the one used by iOS. Understand the Fundamentals The key point to note here is that the debugger prevents your app from suspending. This has important consequences for iOS’s background execution model. Normally: iOS suspends your app when it’s in the background. Once your app is suspended, it becomes eligible for termination. The most common reason for this is that the system wants to recover memory, but it can happen for various other reasons. For example, the system might terminate a suspended app in order to update it. Under various circumstances your app can continue running after moving to the background. A great example of this is the continued processed task feature, introduced in iOS 26 beta. Alternatively, your app can be resumed or relaunched in the background to perform some task. For example, the region monitor feature of Core Location can resume or relaunch your app in the background when the user enters or leaves a region. If no app needs to be executing, the system can sleep the CPU. None of this happens in the normal way if the debugger is attached to your app, and it’s vital that you take that into account when debugging code that runs in the background. An Example of the Problem For an example of how this can cause problems, imagine an app that uses an URLSession background session. A background session will resume or relaunch your app in the background when specific events happen. This involves two separate code paths: If your app is suspended, the session resumes it in the background. If your app is terminated, it relaunches it in the background. Neither code path behaves normally if the debugger is attached. In the first case, the app never suspends, so the resume case isn’t properly exercised. Rather, your background session acts like it would if your app were in the foreground. Normally this doesn’t cause too many problems, so this isn’t a huge concern. On the other hand, the second case is much more problematic. The debugger prevents your app from suspending, and hence from terminating, and thus you can’t exercise this code path at all. Seek Framework-Specific Advice The above is just an example, and there are likely other things to keep in mind when debugging background code for a specific framework. Consult the documentation for the framework you’re working with to see if it has specific advice. Note For URLSession background sessions, check out Testing Background Session Code. The rest of this post focuses on the general case, offering advice that applies to all frameworks that support background execution. Run Your App Outside of Xcode When debugging background execution, launch your app from the Home screen. For day-to-day development: Run the app from Xcode in the normal way (Product > Run). Stop it. Run it again from the Home screen. Alternatively, install a build from TestFlight. This accurately replicates the App Store install experience. Write Code with Debugging in Mind It’s obvious that, if you run the app without attaching the debugger, you won’t be able to use the debugger to debug it. Rather: Extract the core logic of your code into libraries, and then write extensive unit tests for those libraries. You’ll be able to debug these unit tests with the debugger. Add log points to help debug your integration with the system. Treat your logging as a feature of your product. Carefully consider where to add log points and at what level to log. Check this logging code into your source code repository and ship it — or at least the bulk of it — as part of your final product. This logging will be super helpful when it comes to debugging problems that only show up in the field. My general advice is that you use the system log for these log points. See Your Friend the System Log for lots of advice on that front. One of the great features of the system log is that disabled log points are very cheap. In most cases it’s fine to leave these in your final product. Attach and Detach In some cases it really is helpful to debug with the debugger. One option here is to attach to your running app, debug a specific thing, and then detach from it. Specifically: To attach to a running app, choose Debug > Attach to Process > YourAppName in Xcode. To detach, choose Debug > Detach. Understand Force Quit iOS allows users to remove an app from the multitasking UI. This is commonly known as force quit, but that’s not a particularly accurate term: The multitasking UI doesn’t show apps that are running, it shows apps that have been run by the user. The UI shows recently run apps regardless of whether they’re in the foreground, running in the background, suspended, or terminated. So, removing an app from the UI may not actually quit anything. Removing an app sets a flag that prevents the app from being launched in the background. That flag gets cleared when the user next launches the app manually. Note In some circumstances iOS will not honour this flag. The exact cases where this happens are not documented and have changed over time. Keep these behaviours in mind as you debug your background execution code. For example, imagine you’re trying to test the URLSession background relaunch code path discussed above. If you force quit your app, you’ll never hit this code path because iOS won’t relaunch your app in the background. Rather, add a debug-only button that causes your app to call exit. IMPORTANT This suggestion is for debugging only. Don’t include a Quit button in your final app! This is specifically proscribed by QA1561. Alternatively, if you’re attached to your app with Xcode, simply choose Product > Stop. This is like calling exit; it has no impact on your app’s ability to run in the background. Test With Various Background App Refresh Settings iOS puts users in control of background execution via the options in Settings > General > Background App Refresh. Test how your app performs with the following settings: Background app refresh turned off overall Background app refresh turned on in general but turned off for your app Background app refresh turned on in general and turned on for your app IMPORTANT While these settings are labelled Background App Refresh, they affect subsystems other than background app refresh. Test all of these cases regardless of what specific background execution feature you’re using. Test Realistic User Scenarios In many cases you won’t be able to fully test background execution code at your desk. Rather, install a TestFlight build of your app and then use the device as a normal user would. For example: To test Core Location background execution properly, actual leave your office and move around as a user might. To test background app refresh, use your app regularly during the day and then put your device on charge at night. Testing like this requires two things: Patience Good logging The system log may be sufficient here, but you might need to investigate other logging solutions that are more appropriate for your product. These testing challenges are why it’s critical that you have unit tests to exercise your core logic. It takes a lot of time to run integration tests like this, so you want to focus on integration issues. Before starting your integration tests, make sure that your unit tests have flushed out any bugs in your core logic. Revision History 2025-08-12 Made various editorial changes. 2025-08-11 First posted.
Replies
0
Boosts
0
Views
222
Activity
Aug ’25
In my new phone 16 Pro there isn't voice "Developer Mode"
Hi everyone! I change my iPhone but I don't find the voice to activate "Developer Mode". I remember that I activated this feature with my old Xs in few minutes. I don't understand.... I must add the 16 Pro and the new Watch 10 for testing in Xcode. How? Thanks!
Replies
1
Boosts
0
Views
114
Activity
Aug ’25
WeatherKit "Pricing and Additional Endpoints" question.
In the availability and pricing section, we have reviewed the plans and we will be upgrading to 50 or 100 million calls/month but before we do, we have a couple questions. Does the API have rate limit or throttling? Do you have additional weather forecast endpoints like hail, radar, or pollen forecast? I see in this thread https://developer.apple.com/forums/thread/795642 that air quality is not available Thanks
Replies
0
Boosts
0
Views
191
Activity
Aug ’25
Localizing your apps
TL;DR version: AkVox - “Your App in Your User’s Language” Quickly and easily localize your app into as few or as many languages as you want with AkVox. Longer version: AkVox can localize any Xcode project. Simply drag your Exported Localizations folder into AkVox, click translate, then export, and you’re ready to import the translated localizations catalogs back into Xcode. Alas, you cannot import the whole localizations folder as one, you must import each catalog individually, a process that takes around 10 seconds per language. AkVox can also assist you when you’re ready to publish your app on App Store Connect. You can create a list of texts you will enter to promote your app and AkVox will translate them. Again, you can’t apply all your translations to the App Store in ne go, you have to apply each language individually. To make this task less painful, AkVox has a convenient set of buttons to make the copy and paste process as quick and simple as possible. The same arrangement is available when you come to add “mini texts” during setting monetization subscriptions. AkVox employs Google Cloud Translate which means you will need an API Key to be able to run full translations. However, Google offers a generous monthly allowance of 500,000 characters to be translated for free each month. This may well mean that you don’t ever pay for the translation process, just the very low price to use AkVox. The free version of AkVox simulates translating by substituting jumbled versions of Hamlet’s “To be or not to be” speech – this is instead of utilising what would normally be used in this case, the tediously dull Lorem Ipsum text. To see AkVox explained in detail, go to the website: https://akvox.com/
Replies
1
Boosts
0
Views
113
Activity
Aug ’25
SystemData and IOS Images
Hi, I’m trying to free up space on my computer and have uninstalled Xcode. However, I noticed that many large files remain on the filesystem even after uninstalling it. The largest remaining files (~33 GB) are iOS Simulator images located at: /System/Volumes/Data/Library/Developer/CoreSimulator/Volumes I attempted to delete them using root privileges, but it seems that these system files are mounted as read-only. I’m reaching out to ask for guidance to ensure that these files do not contain anything important for macOS, and that it’s safe to remove them before getting in recovery mode. Thank you very much for your advice!
Replies
0
Boosts
0
Views
97
Activity
Aug ’25
Unable to Enable “Media Services (MusicKit, ShazamKit)” When Creating a Key
I am trying to integrate Apple Music API using MusicKit and need to generate a Developer Token. However, when I try to create a new key from the Certificates, Identifiers & Profiles section, the “Media Services (MusicKit, ShazamKit, Apple Music Feed)” option is grayed out. We are getting the error 'there are no identifiers available that can be associated with the key.' Although we did checkmark 'musickit' in app services. I have already: Enrolled in the paid Apple Developer Program Created a valid App ID under Identifiers Logged in as the Account Holder Tried multiple browsers and devices Despite this, the option remains disabled. Could you please enable this or let me know what further steps I need to take? Thank you!
Replies
0
Boosts
0
Views
254
Activity
Apr ’25
No Update
My app will not open to myself or to clients and has a pop up that claims "App Outdated" The app version you are using is no longer supported. Please install he latest Heartland update through the App Store. However, there have been no updates to the app.
Replies
1
Boosts
0
Views
127
Activity
Aug ’25
Replace Apple Clang with Vanilla Clang, what can go wrong?
We are developing a cross platform c++ application. We also use some objective-c (no swift) and specific Apple frameworks like AVFoundation, CoreML in the MacOs version of our software. We use Apple Clang as compiler when building for MacOs. As our code is primarily c++ we would like to use the latest and greatest c++ 20 features. So we are looking into using vanilla clang instead, the builds with vanilla clang seem to work fine, however our concern is that we might have overlooked possible issues that could arise. So our question is whether there are specific things we need to address when switching compilers, are there things that we need to be aware of? In the end we just want to know if switching compilers won't cause problems we can't oversee. So we would like to know if others took the same steps and what your thoughts/experiences are regarding this?
Replies
1
Boosts
0
Views
107
Activity
Aug ’25
Developer Runtime Missing for iOS 26 Beta
unable to find developer runtimes in this list https://developer.apple.com/download/all/?q=simulator%20runtime also, can see it's not being published since iOS 18.2 release, any specific reasons for it? or is the download link changed here?
Replies
1
Boosts
0
Views
133
Activity
Jun ’25
[Unreal Engine] File missing if packaged with command line
Hello! I am trying to automate iOS builds for my Unreal Engine game using Unreal Automation Tool, but I cannot produce a functionnal build with it, while packaging from XCode works perfectly. I have tracked down the issue to a missing file. I'm using the Firebase SDK that requires a GoogleService-Info.plist file. I have copied this file at the root of my project, as the Firebase documentation suggests. I have not taken any manual action to specify that this file needs to be included in the packaged app. The Firebase code checks the existence of this file using NSString* Path = [[NSBundle mainBundle] pathForResource: @“GoogleService-Info” ofType: @“plist”]; return Path != nil; If I package my app from XCode using Product -> Archive, this test returns true and the SDK is properly initialized. If I package my app using Unreal Engine's RunUAT.sh BuildCookRun, this test returns false and the SDK fails to initialize (and actually crashes upon trying). I have tried several Unreal Engine tricks to include my file, like setting it as a RuntimeDependecies in my projects Build.cs file. Which enables Unreal Engine code to find it, but not this direct call to NSBundle. I would like to know either how to tell Unreal Engine to include files at the root of the app bundle, or what XCode does to automatically include this file and is there a way to script it? I can provide both versions .xcarchive if needed. Thanks!
Replies
0
Boosts
0
Views
150
Activity
Sep ’25
Where is the `Metal-cpp-extensions` download website?
Hi, I really appreciate the C++ binding provided. I got the metal-cpp source code from the website at Getting Started. However, I could not find the same for metal-cpp-extensions. Is it not available or do we have to always extract it from the sample code? Thanks.
Replies
1
Boosts
0
Views
262
Activity
May ’25
I can't create key for apn file
i am trying to create key for apn file to use it in firebase fcm for my app but when click on download this error occured Download Failed Auth Key can only be downloaded once. This auth key has already been downloaded. what should i do ?
Replies
1
Boosts
0
Views
153
Activity
Sep ’25
[REQUEST] for a tool/method/guidance how to create privacy manifest (PrivacyInfo.xcprivacy) when you don't have Xcode/mac
Hello, PrivacyInfo.xcprivacy Is primordial and without it the app is rejected from the Store I believe. All 5 ressources I had found related to it, mention XCODE, or explain how to add the code to langages that I don't use (Switf i think?) etc. I am building the app thought CI/CD, so prior to building it the app does not have privacy manifest and there is not way to generate it automatically without xcode it seems. My app is written in Flutter prior to becoming an iOS app. I am seeking for a method to do that. Thanks.
Replies
1
Boosts
0
Views
140
Activity
Sep ’25
Device token for DeviceCheck API
Hi all, I'm trying to integrate Apple’s DeviceCheck API into my Flutter iOS app. I already have everything set up on the backend — the Apple private key, key ID, team ID, and DeviceCheck capability. The backend is generating and signing the JWT correctly and making requests to Apple. However, I’m currently stuck on the frontend (Flutter): 👉 How can I generate the device_token required by the DeviceCheck API (via DCDevice.generateToken) in a Flutter iOS app? I understand that DCDevice.generateToken() must be called from native Swift code. I previously attempted to use a MethodChannel to bridge this in Swift, but would prefer not to write or maintain native Swift code if possible. I've looked for a prebuilt Flutter package to handle this, but nothing exists or is up-to-date on pub.dev. Main Question: Is there any Apple-supported way to generate the device_token for DeviceCheck from a Flutter app without writing Swift code manually? If not, is DCDevice.generateToken() the only possible approach, and must I implement this via Swift and Flutter platform channels? Thanks!
Replies
0
Boosts
0
Views
193
Activity
Apr ’25
iOS 18.5 crash with iPad 7 only
Weirdness going on here. Our app is crashing on startup with iPad 7s running iOS 18.5. Before updating to iOS 18.5, it was working fine on iPad 7s. Even with iOS 18.5, it is working fine on every device we have tried including dozens of other iPads and iPhones. We have narrowed it down to the SquareReaderSDK. If we remove that SDK, it will launch and work without issues. But, many of our users need the SquareReaderSDK. The crash happens at app load, before appDelegate didFinishLaunchingWithOptions. So we can't figure out any way to debug the issue. Is anyone else having a similar issue? Square thinks it is an Apple issue.
Replies
4
Boosts
0
Views
133
Activity
Jun ’25