By default, AppleClang adds /usr/local/include to the application search folders for include files (as opposed to the system include dirs). This causes problems with the expected include order because application search folders always have priority over system includes. Specifically it causes problems with the conan package manager as library includes are added with -isystem
This behaviour differs from LLVM mainline clang and GCC, where /usr/local/include is a system include (added with -internal-isystem).
Steps to reproduce -
run
echo 'int main() { return 0; }' | clang -xc -v -
the output is as follows
Apple clang version 17.0.0 (clang-1700.0.13.5)
Target: arm64-apple-darwin24.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" ... -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
-I/usr/local/include
-internal-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/local/include ...
General
RSS for tagDive into the vast array of tools and services available to developers.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hello,
I’m trying to test a Xamarin.iOS application using the iOS 26 simulators in Mac Visual Studio, but I’m encountering an issue where the simulators are not appearing or accessible from Visual Studio.
Details:
macOS version: 15.6 (24G84)
Xcode version: 26 Beta 5
Visual Studio version: 17.6.0.80
Xamarin.iOS version: Xamarin.Forms (Version: 4.6.0.1180) using XAML for cross-platform support (iOS/Android)
The problem started after updating to iOS 26 SDK. I am unable to select or run the app on any iOS 26 simulator from Visual Studio.
Has anyone faced a similar issue? Is there any configuration or workaround to enable iOS 26 simulators for Xamarin projects?
Thanks in advance for your help.
Topic:
Developer Tools & Services
SubTopic:
General
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.
Hi, experts,
I want to find Siri response window by bundle id and use it for checking or printing, here is my example code:
XCUIDevice.shared.siriService.activate(voiceRecognitionText: "call mom")
let siriApp = XCUIApplication(bundleIdentifier: "***")
// Print out text from siriApp,
// expecte print: "Sorry, I can't make a phone call with your iphone."
Where should I put into ***?
I tried "com.apple.SiriViewService", "com.apple.siri.velocity", "com.apple.springboard' but nothing work
Any suggestion appreciated, thanks!
Hello,
I'm checking to see if anyone else is experiencing an issue downloading the latest beta simulator.
When I try to download the iOS 26 beta 5 simulator in Xcode, the download fails instantly. There is no progress, just an immediate error with no message other than the code itself: DVTDownloadableErrorDomain Code: 41.
I've already restarted both Xcode and the Mac multiple times. I have also tried downloading on different networks to rule out a firewall issue.
I'm running the latest iOS 26 beta 5 on my iPad and iPhone. Whenever I run these betas, I always get the message below telling me an update is available (whenever I plug in my devices). I'm assuming this is because the update check is detecting that I have something other than the latest production release. Obviously, it makes no sense to ask me to update to a prod build when I'm running the dev beta. Is there a way to turn this message off? Or maybe Apple could handle this situation better? Or maybe it's just a bug and I'm the only one getting this message?
Topic:
Developer Tools & Services
SubTopic:
General
I've created an installation package and it is failing to install on macOS 15.6.
The package is, I believe, properly notarized, since it will install correctly on other macOS versions, including 15.5
The only clue I have is the output from installer:
installer[8015] : Opened package is not the same at install time
installer[8015] : Unable to use PK session due to incompatible packages. Terminating.
installer[8015] : Install failed: The Installer could not install the software because there was no software found to install.
The installer consists of a a single "component" package, and the outer "product" package. The component package is present, and I can successfully run installer manually to install it, so I don't think the component package is corrupt.
Has anyone else encountered this? Are there any tools available to help me diagnose the issue? The logging is not helpful.
Topic:
Developer Tools & Services
SubTopic:
General
By default, it seems 15.6 is shipped with
git version 2.39.5 (Apple Git-154)
I was wondering when Apple will ship a Git version above 2.43 to resolve this vulnerability.
Git Carriage Return Line Feed (CRLF) Vulnerability (CVE-2025-48384)
https://github.com/git/git/security/advisories/GHSA-vwqx-4fm8-6qc9
You can install Homebrew then install newer versions of git using Homebrew; however that installs in a new location so the vulnerability is still present as the native version is behind and updated by Apple during software updates
Thanks
Hi everyone,
I'm developing a visionOS application using Unity with an enterprise developer account. I applied for the Main Camera Access entitlement, but at the time of submission, the email address associated with my Apple ID was deactivated, so I couldn’t receive any email communication from Apple.
Later, I updated the email address for my Apple ID. Now, in the Apple Developer portal under Identifiers, I can see that my app has been granted Main Camera Access, and I can also add the corresponding capability in Xcode.
However, according to Apple’s documentation(https://developer.apple.com/documentation/visionos/building-spatial-experiences-for-business-apps-with-enterprise-apis):
“To use entitlements, you need to include both the entitlement file and a corresponding license file in your app. After Apple approves your app for one or more entitlements, you receive a license file, along with additional instructions.”
I never received this license file, possibly due to the deactivated email. I don't know where to find it or how to retrieve it now.
What exactly is this license file?
If it was originally sent to an unreachable email, how can I request it again or get it resent?
Where in the Apple Developer portal (or elsewhere) can I access or download this file?
Any help or guidance would be greatly appreciated!
Thanks in advance.
Hello All,
I used to own an app named LOLIIPOP, and am in the process of transferring it to my new apple account.
I am having two problems....
How do I transfer the source code and binary to my new apple account?
My developers have an old code, so I need to send them the LAST code they uploaded to the App Store.
How do I do that as well???
Please any help!!!
Thanks,
Mr. LM
Topic:
Developer Tools & Services
SubTopic:
General
I am running into an issue where when layers are grouped, the icon is not shown as it does within the preview in the Icon Composer app
Is this a bug or is it some setting within the group/app?
If I build an x64 binary on my M4 Mini, when I try to debug it using Visual Studio remote debugging the connection is closed, which means I cannot debug my code in x64 mode. I need to be able to do this as I have architecture specific code.
I have Rosetta installed.
FWIW I have the same issue with lldb-mi :(
David
Hello,
Thank you for taking the time to read this and hopefully helping me.
https://apps.apple.com/gb/app/gdl-graded-darts-leagues/id1592502150
I created a mobile app using AppPresser that is connected to my WordPress website.
The iOS app is logging users out when they close the app and go back to it. The login session does not persist, and users are forced to log in again frequently. This happens at any time period between closing and opening the app.
This only happens on iOS — Android keeps the session active as expected.
I don't know if I've included this post in the correct topic, sorry.
Thanks again for any ideas and assistance!
Topic:
Developer Tools & Services
SubTopic:
General
Good day everyone.
I have a react native app which works on dev mode on my device - Iphone 13 pro version: 18.5, but when deployed to TestFlight and installed on same device it crashes when ever I click on any TextInput. I downloaded the crash file but finding it difficult to pinpoint the problem.
I want to know what the problem is, if it's related to an installed package or code base or any other.
Any help will be appreciated!!!
Thanks.
crashlog.crash
I am working on a MAUI application. When I go to archive my build to then release it, my bundle is not including the Assets.car file that apple is seemingly expecting for handling the app icons, which is leading to issues trying to publish my app. The assets are in a AppIcon.appiconset folder in my project (under Platforms>iOS>Resources) with a proper Contents.json file also in there. They are setup as a BundledResource (also have tried ImageAssets for the build type but with the same issue occurring).
I am using visual studio 2022 on Windows 11 paired with a Mac (Sequoia 15.5) and Xcode 16.4.
I have even tried manually compiling the asset catalog from xcode16.4 and trying to use terminal commands to have actool create the Assets.car but that runs with no files created to the output destination as well as no errors. I believe there may be an issue with actools in my Xcode copy. I have tried uninstalling and reinstalling with no luck.
Any suggestions or tips?
Topic:
Developer Tools & Services
SubTopic:
General
Trying to publish my .NET MAUI app via the transporter after migrating it from Xamarin (using the App Store Connect feature directly within visual studio 2022 has never worked for me) and getting this error.
Validation failed (409)
Missing required icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format for iOS versions >= 10.0. To support older versions of iOS, the icon may be required in the bundle outside of an asset catalog. Make sure the Info.plist file includes appropriate entries referencing the file.
I have setup my maui app to use the asset catalog with the .pngs setup as bundled resources and I have also tried using the .svg method, both resulting in this error.
When I zip and unzip my .ipa file I can see the asset catalog as part of the payload (C:\Archives\AIM_MAUI\Payload\AIM_MAUI.app\AppIcon.appiconset)
Here is the contents of the Contents.json file
{
"images" : [
{
"filename" : "icon_40.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "20x20"
},
{
"filename" : "icon_60.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "20x20"
},
{
"filename" : "icon_58.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "29x29"
},
{
"filename" : "icon_87.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "29x29"
},
{
"filename" : "icon_80.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "40x40"
},
{
"filename" : "icon_120.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "40x40"
},
{
"filename" : "icon_120.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "60x60"
},
{
"filename" : "icon_180.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "60x60"
},
{
"filename" : "icon_20.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "20x20"
},
{
"filename" : "icon_40.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "20x20"
},
{
"filename" : "icon_29.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "29x29"
},
{
"filename" : "icon_58.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "29x29"
},
{
"filename" : "icon_40.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "40x40"
},
{
"filename" : "icon_80.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "40x40"
},
{
"filename" : "icon_76.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "76x76"
},
{
"filename" : "icon_152.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "76x76"
},
{
"filename" : "icon_167.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "83.5x83.5"
},
{
"filename" : "icon_1024.png",
"idiom" : "ios-marketing",
"scale" : "1x",
"size" : "1024x1024"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
I have tried manually using the actool tool from Xcode 16.4 to create the Assets.car file that is seeming to be missing and leading to this issue but even that can't compile the icons (or even a simple sample appicon.appiconset from Xcode with a singular .png added) and I am beginning to think there's an issue with the actool itself. I have tried reinstalling Xcode and every time the actool is just a partial download or a stub of the tool and not the real tool (actool size on my Mac is only 170kb and per my research it should be at least a couple mb)
Is there any workaround?
So, as we found out from WWDC, the migration to Apple Silicon is inevitable.
Does anyone have a good recommendation for a replacement for Macintosh Common Lisp on Apple Silicon? I was using it back in the MPW days and struggling to keep the Lisp code working, but Apple Silicon has thrown a money wrench at it!
Thanks in advance for any advice on any available Apple Silicon Lisp development tools!
Topic:
Developer Tools & Services
SubTopic:
General
So I'm testing a microapp that is contained in an IPFS folder. I use a web3 website that is used to view NFTs and their IPFS files. The app has gyro controls, which are enabled through a confirmation gesture.
In iOS 18.5, when I press "Request Permission" button I get the popup to allow the app to acess movement and orientation. In iOS26, pressing the button does nothing. Keep in mind that this only happens through the website, that uses iframes. When I load the IPFS file from a direct link, the popup appears with no issue.
I think this might be because iOS26 uses WebGPU or it might be a bug since iOS26 is still in beta.
When attempting to open sysdiagnose logs collected from an iPhone running iOS 26 beta 3 on macOS Console, the application consistently crashes.
Crash report has been added for reference.
Apple Feedback- FB18834450
Hello
I developed an app for my cousin (I wrote all the code myself), but she’ll be the one managing it once it’s published. She’ll take care of the content, updates, and anything admin-related.
Right now, the app uses my Firebase account and my Apple Developer account (App Store Connect), which I set up at the start of the project.
I’m wondering:
• Am I at risk legally or financially if the accounts stay under my name, even though I won’t be involved in the app after release?
• Is it possible to migrate the project to her email, meaning transfer Firebase and the Apple Developer account to her own account, so that everything is properly under her control?
Thanks in advance for any insights or experiences
Topic:
Developer Tools & Services
SubTopic:
General