Looking for a dynamic table that displays the latest supported CLI versions with the version of macOS.
Specifically, is CLI 15.3 supported on Ventura 13.7.8?
More generally, what is the lastest version of CLI supported on macOS <version_goes_here>
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
With the latest (26) version of Apple's developer tools, is there a way to manually attach a debugger (other than lldb) to an iOS app launched with "devicectl device process launch --start-stopped"?
In the past, this was possible via the ios-deploy third-party tool (now defunct), which provided a debugserver port. This information is notably missing when using devicectrl – although the process ID of the launch process is provided, and the tool is clearly aimed at letting you launch and attach to processes from the command line.
lldb can, of course, attach via its built-in support for this using the device set of commands. But I'm explicitly looking for a way to attach my own debugger via the GDB-compatible debug proxy.
In SF Symbols 7 (115), there are 458 symbols missing Availability info. I only discovered this after using one that didn’t appear in iOS 18 but does in iOS 26.
Questions:
Are there plans to add Availability info for all symbols?
If the field is blank, is there a safe latest-OS version we can assume?
I realize managing 7,000+ icons is tough, but missing info like this makes development frustrating. It doesn't help that there's no build warning when a named image isn't found, it just defaults to the text label.
Screenshot
Screenshot of SF Symbols 7 showing three symbols missing Availability info. The symbol ellipsis.circle.badge is selected and its properties pane also shows no Availability info.
Hi everyone,
I’m hoping someone here can shed some light on what’s going on with Apple’s one-hour security delay when trying to register an iPhone for development use.
I’m currently setting up an app build using Expo / EAS and a paid Apple Developer account. Every time I scan the device registration QR code or try to authorise my iPhone as a development device, I get hit with a “security delay — try again in one hour” message.
This happens every single time, even if I wait the full hour. The device is the same iPhone I always use, signed in to the same Apple ID, and verified with 2FA.
The only thing unusual about my setup is that I’m using Starlink for internet access. Because Starlink uses dynamic IP routing and your exit node changes frequently (depending on which satellite or ground station you’re on), it looks like I’m signing in from a new location each time — sometimes even hundreds of miles apart.
It seems that Apple’s security system flags each of these as a “new login” or “new device registration,” then enforces a one-hour safety lockout. That makes it basically impossible to register my device and proceed with iOS builds or testing.
Has anyone else run into this problem while using Starlink (or other dynamic-routing connections like VPNs or cellular hotspots)?
And if so — is there any known workaround or setting to whitelist a device, stabilise verification, or bypass the repeated one-hour wait?
This feels like an over-protective security feature that doesn’t play well with modern satellite internet setups.
Any insights from the Apple engineers or other developers would be hugely appreciated.
Thanks,
Tim Lazenby
Topic:
Developer Tools & Services
SubTopic:
General
I am integrating On Demand Resources into my Unity game. The resources install without any problems if the internet connection is stable: all resources are installed. While testing various scenarios without an internet connection, I encountered the following problem: if I turn off the internet during installation, I don't get any error messages, but if I turn the internet back on, the download no longer continues (and I still don't get an error). If I reopen the application with a stable internet connection, the download will always be at 0%. Please tell me what I am doing wrong.
#import "Foundation/Foundation.h"
#if ENABLE_IOS_ON_DEMAND_RESOURCES
#import "Foundation/NSBundle.h"
#endif
#include <string.h>
struct CustomOnDemandResourcesRequestData;
typedef void (*CustomOnDemandResourcesRequestCompleteHandler)(struct CustomOnDemandResourcesRequestData* handler, const char* error);
#if ENABLE_IOS_ON_DEMAND_RESOURCES
struct CustomOnDemandResourcesRequestData
{
NSBundleResourceRequest* request;
};
extern "C" CustomOnDemandResourcesRequestData* CustomOnDemandResourcesCreateRequest(const char* const* tags, int tagCount, CustomOnDemandResourcesRequestCompleteHandler handler)
{
NSMutableArray* tagArray = [NSMutableArray array];
for (int i = 0; i < tagCount; i++) {
const char* tag = tags[i];
if (tag != NULL) {
[tagArray addObject:[NSString stringWithUTF8String:tag]];
}
}
NSSet* tagSet = [NSSet setWithArray:tagArray];
CustomOnDemandResourcesRequestData* data = new CustomOnDemandResourcesRequestData();
data->request = [[NSBundleResourceRequest alloc] initWithTags:tagSet];
[data->request beginAccessingResourcesWithCompletionHandler:^(NSError* error) {
dispatch_async(dispatch_get_main_queue(), ^{
const char* errorMessage = error ? [[error localizedDescription] UTF8String] : NULL;
handler(data, errorMessage);
});
}];
return data;
}
extern "C" void CustomOnDemandResourcesRelease(CustomOnDemandResourcesRequestData* data)
{
[data->request endAccessingResources];
delete data;
}
extern "C" float CustomOnDemandResourcesGetProgress(CustomOnDemandResourcesRequestData* data)
{
return data->request.progress.fractionCompleted;
}
extern "C" float CustomOnDemandResourcesGetLoadingPriority(CustomOnDemandResourcesRequestData* data)
{
float priority = (float)data->request.loadingPriority;
return priority;
}
extern "C" void CustomOnDemandResourcesSetLoadingPriority(CustomOnDemandResourcesRequestData* data, float priority)
{
if (priority < 0.0f)
priority = 0.0f;
if (priority > 1.0f)
data->request.loadingPriority = NSBundleResourceRequestLoadingPriorityUrgent;
else
data->request.loadingPriority = (double)priority;
}
extern "C" const char* CustomOnDemandResourcesGetResourcePath(CustomOnDemandResourcesRequestData * data, const char* resource)
{
NSString* resourceStr = [NSString stringWithUTF8String: resource];
NSString* path = [[data->request bundle] pathForResource: resourceStr ofType: nil];
if (path == nil) {
return NULL; // или другое значение по умолчанию
}
const char* result = strdup([path UTF8String]); // копируем строку
return result; // в C# нужно будет освободить память
}
extern "C" void CustomOnDemandResourcesFreeString(const char* str) {
free((void*)str);
}
#else // ENABLE_IOS_ON_DEMAND_RESOURCES
struct CustomOnDemandResourcesRequestData
{
};
extern "C" CustomOnDemandResourcesRequestData* CustomOnDemandResourcesCreateRequest(const char* const* tags, int tagCount, CustomOnDemandResourcesRequestCompleteHandler handler)
{
CustomOnDemandResourcesRequestData* data = new CustomOnDemandResourcesRequestData();
if (handler)
handler(handlerData, NULL);
return data;
}
extern "C" void CustomOnDemandResourcesRelease(CustomOnDemandResourcesRequestData* data)
{
delete data;
}
extern "C" float CustomOnDemandResourcesGetProgress(CustomOnDemandResourcesRequestData* data)
{
return 0.0f;
}
extern "C" float CustomOnDemandResourcesGetLoadingPriority(CustomOnDemandResourcesRequestData* data)
{
return 0.0f;
}
extern "C" void CustomOnDemandResourcesSetLoadingPriority(CustomOnDemandResourcesRequestData* data, float priority)
{
}
extern "C" const char* CustomOnDemandResourcesGetResourcePath(CustomOnDemandResourcesRequestData * data, const char* resource)
{
return NULL;
}
extern "C" void CustomOnDemandResourcesFreeString(const char* str) {
}
#endif // ENABLE_IOS_ON_DEMAND_RESOURCES
In our App we have a need to open Apple Developer App from our iOS App to guide user to Developer App.
But looks like there is no confirmed URL Scheme provided.
Can you help on this.
Topic:
Developer Tools & Services
SubTopic:
General
I am working on an iOS app and I want to achieve on demand module download inside the app when the user clicks on the module icon which he wants to use.
The idea is that we have a super app consisting of multiple modules say four independent apps/features and I want to separate each one so that when the user selects a specific app/feature, it’s downloaded on demand and then opened directly within the same super app resulting in a lower app size initially
I want to upload all the code of all modules to app store connect but when the user downloads the app, then only one module's code should be available to the user, the rest of the module's code should be downloaded when the user wants to use that module. I know apple restricts downloading new code but in my case I want to upload all the code to app store for review but just give option to the user to get rest of the code when needed. Any guidance, architectural advice, or example implementations would be highly appreciated.
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
App Clips
iOS
App Store Connect
On demand resources
Hello,
I'm building this mobile app using Quasar - Capacitor on iOS.
The app is working perfectly, but I'm encountering an issue whenever I push the rep I get this error: "Error
Unable to open base configuration reference file '/Volumes/workspace/repository/ios/App/Pods/Target Support Files/Pods-App/Pods-App.release.xcconfig'.
App.xcodeproj:1"
I've tried every possible solution and made sure that everything is set perfectly.
Can anyone please help me with that?
Thanks in advance, appreciate you 🫶🏻
Hello,
I'm trying to use multiple Background Assets Packs to host map tiles.
This is problematic for a few reasons.
MKTileOverlay requires a method that returns a URL.
AssetPackManager.shared.url() throws, but it's unrelated to the url. It will return a URL even if it points to nothing.
There's no name-spacing. Everything appears to be flattened. (See Error below)
Simultaneously, this also is not the case as the documentation states: if there’s a path collision across multiple asset packs, then it’s undefined from which asset pack an individual file will be resolved.
AssetPackManager.shared.url() doesn't have an optional parameter to explicitly declare the asset pack you want to access, like AssetPackManager.shared.contents(at: FilePath) does
For example, I have multiple different tiles I'm trying to overlay for z: 10, x: 239, and y: 414.
Foo/10/239/414.png
Bar/10/239/414.png
And even when explicitly stating the fold directory, it appears that the assets are flattened down. As I'm receiving this error.
The URL for “Foo/10/239/414.png” couldn’t be retrieved: “414.png” couldn’t be copied to “239” because an item with the same name already exists.
Hi,
is there a compiled version of MailCore.swift? I want to build an easy-to-use mail app for my mother, who is 97, has a MacBook Air, but Apple Mail is too complicated for her. chatGPT said I am too stupid to compile it by myself.
Regards Stephan
In the beta of Icon Composer, I see macOS, iOS, and watchOS icons, but there is nothing about visionOS and tvOS. Those icons are particularly hard and it would be great if this app worked for developing icons for all Apple platforms.
I tried asking this in a WWDC group lab, but they didn't get to it and suggested posting to the forum.
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
Developer Tools
Beta
Universal Apps
Icon Composer
I received this message when trying to submit a build using Rork.com. Can anyone tell me what this is and how to fix it?
There is a problem with the request entity - You are not allowed to create 'iOS' profile with App ID 'XXXXXXXX'.
✖ Failed to create Apple provisioning profile
Error: build command failed.
Topic:
Developer Tools & Services
SubTopic:
General
My Xcode project has the following configuration:
1 iOS app target
1 Xcode framework target (mach-o-type "Dynamic Library")
5 static libraries
Dependencies:
All the static libraries are target dependencies of the framework.
The framework is the only target dependency of the iOS app.
For the iOS app target, within the General tab > Frameworks, Libraries & Embedded content, I've set the framework as "Do not embed"
So now I have a dynamic framework which won't be copied to the .app bundle in the build output.
As per my understanding, this should result in a runtime error, dyld should not be able to find the framework files as they were not embedded in the final .app bundle.
But regardless, my app runs without any errors, using all the methods exposed by the framework.
What is the correct understanding here?
What exactly does Embed/Do not embed mean (apart from excluding the files from .app bundle)
When both settings are specified, is there any priority or precedence of one setting over the other?
I have a project inside the project structure. I have around 300 unit tests in the project.
I see that for some of the subprojects, the coverage numbers show up correctly, but for other subprojects and the main project, the coverage number shows zero, even though the tests are running successfully.
The log I get is:
Aggregation tool emitted warnings:
warning: /Users/ABC/Library/Developer/Xcode/DerivedData/projectABC-hfzmkbdgpiswoxfvvnvhrafaiqyb/Build/ProfileData/A8EEC1FB-1699-4C29-A88C-D3DDA226DBC0/0A416494-A393-4319-AA47-502D72084C9C-43351.profraw: raw profile version mismatch: Profile uses raw profile format version = 8; expected version = 10
PLEASE update this tool to the version in the raw profile, or regenerate the raw profile with the expected version.
I only have one Xcode (26.0.1) on my machine. I tried cleaning the derived data, the cleaning project, and rerunning the tests, but it hasn't helped.
Please help me get the coverage number back. Thank you.
It is gone from where I used to find it on Apple’s web site. Is it deprecated or no longer available?
Failed to fetch certificates:
This request is forbidden for security reasons - Unable to find a team with the given Content Provider ID '72df6041-c291-4d95-b690-2a3b75ff72f6' to which you belong. Please contact Apple Developer Program Support. https://developer.apple.com/support
I have already confirmed that: All API keys were generated correctly. All required roles and permissions have been assigned in App Store Connect.
To confirm my doubt, I requested api key from a fellow developer, and that worked in CodeMagic without throwing an error.
Could you please help me figure out why the given Content Provider ID is not being recognized?
Thank you.
In the online documentation for InstallerJS, it is stated that the unit for the availableKilobytes property of the target field is kilobytes.
Isn't it actually bytes because of a bug in the very first release of macOS that supported InstallerJS?
[Q] Has there been a fix in the recent years regarding this property that would explain why the documentation says it's kilobytes? Even though at the time of this writing, the unit is still bytes when you call my.target.availableKilobytes
I'm using this call to dump the value of this property in install.log:
system.log(my.target.availableKilobytes + '');
Ref. https://developer.apple.com/documentation/installer_js/target/1811975-availablekilobytes
(FB20448952)
Hello,
currently I am having trouble releasing an app because it crashes/does not launch on iOS 26.0.1. We have uploaded apps in the past so I tried building one of them with our current toolchain. I use Xcode 16.4, Kotlin version 2.0.0, LibGDX 1.13.1 and robovm/MobiVM 2.3.23. I uploaded the build to TestFlight and tested with physical devices running iOS 18.5 and 26.0.1. It runs fine on 18.5 but refuses to launch on the 26.0.1 device. I cannot retrieve a crash log or .ips file because none is written. When I write a Console log while the app crashes/does not launch I get no hints as to why it does so.
Do you maybe have additional ideas as to why it keeps not launching on iOS 26.0.1?
Topic:
Developer Tools & Services
SubTopic:
General
I need to automate updating to latest iOS betas as part of my ci script, but I can't get it to install iOS 26.0 beta for the life of me, using xcodes or xcodebuild.
I can see the version listed using xcodes runtimes --include-betas, and I tried sudo xcodes runtimes install "iOS 26.0-beta1", but I would get the error
Downloading Runtime iOS 26.0-beta1: 0%
Error: ProcessExecutionError()\
I also tried xcodebuild -downloadPlatform iOS -buildVersion 23A5260l, where I found the specific build id on apples dev images website. But I would get the error
iOS 23A5260l is not available for download.
Specific version download failed, trying downloadPlatform ios latest...
And similar error for trying xcodebuild -downloadPlatform iOS -buildVersion 26.0 or other version ids I found online. But this command would work for any other versions and betas listed on the website.
I was able to install iOS 26.0 through xcodebuild -downloadPlatform iOS, which automatically installed it for me, but this is unideal for my situation, as I want to control which betas to install instead of just the latest one (like iOS 18.6 beta that just came out).
Is anyone else also struggling with these errors?
xcodes version 1.6.2 Xcode version 26.0 Beta (installed and selected through xcode)
In previous versions of the simulator, it was possible to import files into the Files app by dragging them from the Finder into the Simulator. It appears that in the iOS 26 Simulator, this opens the file in Safari.
I've only tried it with .json files so far.
The documentation at https://developer.apple.com/documentation/xcode/sharing-data-with-simulator says that the original behaviour should happen:
To add files to Simulator, select one or more files in Finder on your Mac, then click the Share button. Select Simulator from the share destination list. Choose the simulated device from the drop-down list. Simulator opens the Files app, and lets you select where to save the files.
I'd love to learn if this is intentional behaviour, and if so, what workarounds there might be. I use this pattern quite a lot, as I have a HealthKit app, and I've built a system that allows me to export workouts as JSON files from a real device, that I can then import into a simulator for testing.
Edit: I found a workaround. Make a folder in Files.app, then search for it within ~/Library/Developer/CoreSimulator/Devices. Open the folder in Finder, then add any files you want to be available in the Simulator.