I have an iPhone 14 running iOS 16.1 and my series 5 watch running watchOS 9.1. I was able to turn on Developer Mode on the phone by going to Settings--> Privacy & Security --> Developer Mode. On the watch however (I'm doing this directly on the watch and not on the watch app on the phone) once I'm in Privacy & Security, there is no option to select Developer Mode. How do I get my watch in Developer Mode in order to get a successful build in xCode?
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
My application uses a text file with an extension of .dssfilelist. On Linux I would register the Mime type and associate it with the application in the .desktop file.
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="text/dssfilelist">
<comment>DeepSkyStacker file-list file</comment>
<glob pattern="*.dssfilelist" />
</mime-type>
</mime-info>
I believe that I need to add stuff to the Info.plist for my application, but I also understand that CFBundleTypeExtensions is deprecated.
So please could you show me what I now need to add to the Info.plist file so that these files will be registered as "text/dssfilelist" type and associated with my application and to associate a .icns file with it?
Hi,
We use Flat package installers (.pkg based installers) to install our applications on macOS. In macOS 26.1, installation is failing with the error
Unable to use PK session due to incompatible packages. Terminating. 2025-11-03 14:22:36+05:30 Admin-3 installer[1160]: Install failed: The Installer could not install the software because there was no software found to install.
Same installer package is working on macOS 26.
Any help is greatly appreciated.
I just updated my device to iOS 18.3 and despite it connecting to my computer, it doesn't appear in Xcode. Some quick troubleshooting led me to the theory that I need to download the matching simulator runtime for it to appear. But I have searched far and wide and the latest sim runtime is ios 18.2 Am I missing something here?
We have a macOS application packaged as a .pkg file. To notarize it, we first code-sign individual library folders and the .app bundle using the following command:
codesign --force --deep --sign "Developer ID Application: &lt;Our Account Name&gt;, LLC (Team ID)" "Our_product.app"
Code Sign result for .app file:
Our_prodcut.app: valid on disk
Our_product.app: satisfies its Designated Requirement
We are using packages tool to create .pkg file with code signed .app file.
Steps followed once .pkg file is ready:
1. Product Sign:
productsign -sign "Developer ID Installer: &lt;Our Account Name&gt;" output.pkg signed-output.pkg
2. Submit for notorization:
`xcrun notarytool submit signed-outout.pkg --keychain-profile "notarytool-password" --wait
Received following output:
Current status: Accepted.................................
Processing complete
id: 2d5c450f-5b22-4b4d-9579-ef21c0356548
status: Accepted
Transferred Notarization log:
xcrun notarytool log 10169892-b28c-407c-b348-edab0b34ef34 --keychain-profile "notarytool-password" Desktop/developer_log_6.json
We have observed log with "Accepted" status with issues as "null".
3. Stapler:
stapler staple signed-output.pkg
stapler validate signed-output.pkg
Processing: signed-output.pkg
The validate action worked!
4. Checking status of .pkg file:
Command:
spctl --assess --verbose=4 signed-output.pkg
Output:
signed-output.pkg: rejected
source=no usable signaturess
Warning During Installation:
While installing the .pkg file, a security warning appears as follows. Please help us to resolve this.
I've got a large and complex app which has several dependencies upon 3rd party libraries (installed as pods).
The app is structured according to Model-View-Controller design and there is a requirement to implement the Model part as an .xcframework so it can be included and used in the original app along with a few new apps.
However, Apple documentation states that umbrella frameworks are not supported (Technical Note TN2435).
The Model code has several dependencies which would be totally unfeasible to replace or remove, for example it uses RealmSwift for database storage. Obviously it would be impossible to write one's own database storage scheme in place of using Realm.
However, if my framework uses Realm as a dependency, then its now become an umbrella framework.
So therefore not supported according to Apple documentation.
So what are options/solutions?
Hi all, I have set up a trivial test project to try Apple-hosted background assets following the instructions in the three articles at https://developer.apple.com/documentation/backgroundassets.
When I run the local mock server with xcrun ba-serve and set the URL override in Settings as described in the "Testing asset packs locally" article, I am able to download a test pack on my iOS devices. On the Mac that I use to run the mock server, however, the same call to AssetPackManager.shared.assetPack(withID: "TestAssetPack") that works on iOS always reports
The asset pack with the ID “TestAssetPack” couldn’t be looked up: No asset pack with the ID “TestAssetPack” was found.
even when not running the mock server, which led me to believe that it may not be hitting it at all. In fact, the macOS app will download asset packs uploaded to App Store Connect even when running the local server and setting the xcrun ba-serve url-override to the exact same string as in Settings on iOS. My initial suspicion was that something is wrong with the URL override, so I have tried all combinations of the Mac's hostname, IP address or "localhost" (with the corresponding SSL certificates) with and without port 443, always prefixing with "https://" for the url-override. All the same.
Does anyone have an idea what may be the issue here?
My asset pack has the following manifest:
{
"assetPackID": "TestAssetPack",
"downloadPolicy": {
"onDemand": {}
},
"fileSelectors": [
{
"file": "TestAsset.txt"
}
],
"platforms": [
"iOS",
"macOS"
]
}
I am running v26.1 for macOS, iOS & Xcode.
Edit:
Just to be clear, my assumption here is that the URL overrides (in Settings on iOS or via ba-serve on macOS) is what should cause the app to hit the mock server. Is that correct or am I missing something?
What is the recommended approach for distributing an XCFramework that uses common third-party dependencies (like Google Maps) when client apps may also use the same dependencies, resulting in duplicate symbol conflicts?
I'm developing a closed-source SDK distributed as an XCFramework. My SDK internally uses Google Maps for mapping functionality. However, when clients integrate my XCFramework into their apps that also use Google Maps, we encounter duplicate symbol errors.
What I've Tried:
Static vs Dynamic Linking: Both approaches result in conflicts
Static linking: Google Maps symbols compiled into my binary
Dynamic linking: GoogleMaps.framework bundled with my XCFramework
Build Configuration:
Set "Build Libraries for Distribution" = YES
Tried various linking strategies
Architecture Changes:
Used @implementation_only import
Wrapped code with #if canImport(GoogleMaps)
However, the dependencies still get linked at build time
I would like to know if macOS DEXT supports the following networking features: Tx/Rx Multiqueue, RSS, RSC, NS/ARP offload, PTP or packet timestamping and TSN.
I couldn't find relevant documentation for these features in the Apple Developer Documentation.
If they are supported, could you let me know which features are supported and how to find the corresponding official Apple documentation?
Thanks
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
Network Extension
NetworkingDriverKit
PCIDriverKit
DriverKit
Dear Apple,I'm an iOS developer and provided feedback in the good old online bug tracker for many years.Decent conversations with Apple egnineers often resulted in bug fixes or updated documentation.The fact that my contributions helped to improve the products was rewarding.So I kept adding reports in the new Feedback Assistant app in macOS Catalina.But ever since (September 2019) I never ever got any response on any ticket.1 month ago I even added a report if Apple even read my reports. Again, no response ever since.So my question on this forum: Is Apple actually reading reports in the new Feedback Assistant?This can either be answered by Apple, or by other Developers that hopefully did response feedback from Apple. Or did not.Best regards,Martijn
When I try to get a new API Key I get the following error.
"API Keys cannot be created due to an invalid Program License Agreement. Please update this agreement and try your request again."
I have been to the agreement section, and it says:
"Issued October 8, 2025. Accepted November 19, 2025."
Any idea why I still get this error??
Not sure if that makes a difference. I had a paid account, but I didn't renew it because I don't need it anymore, and I was told that I can still use this account for free for app testing.
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.
I use CMake for my builds not the XCode GUI.
I want to be able to build a single .app that contains both the GUI version and the command line version. I have seen products that ship both as part of the same .app (e.g. CMake) so this is clearly entirely possible, the 64k question is HOW?
Right now I am building them as separate apps - lets call them DSS and DSSCL (*).
The code base for each is in its own directory - each with its own CMakelists.txt file.
My initial thoughts are to change the build for DSSCL so it doesn't create a bundle and then simply copy the DSSCL command and related .qm files into DSS.app/.../MacOS.
However that's likely enough totally wrong, so how should I handle this please.
As much detail as possible please, I am very new to macOS development -please don't assume knowledge of stuff that's second nature to you
Many thanks
David
(*) Strictly they are DeepSkyStacker and DeepSkyStackerCL
Topic:
Developer Tools & Services
SubTopic:
General
I installed MacOS Sequoia 15.4 and now my backup script no longer works.
My script is using rsync in this way:
rsync -avz —delete —log-file=“$LOG_FILE” “$SRC_DIR” “$DEST_DIR”
This has been working fine for a very long time.
After updating to 15.4, this produces the error “rsync: unrecognized action —log-file=/users/admin/logs/backuplog_xxx.log”.
The log file path is correct (and hasn’t changed).
Interestingly, the man page for rsync no longer shows the —log-file as an option.
I know I can use:
rsync -avz —delete “$SRC_DIR” “$DEST_DIR” > “$LOG_FILE”`
or even
rsync -avz —delete “$SRC_DIR” “$DEST_DIR” > “$LOG_FILE” 2>&1`
to also capture stderr.
However, I liked the output from the built-In log option.
Does anyone know why this might have been removed or if there is a way to get it back?
Thanks.
Currently, if as a library author you are shipping dependencies as code, you can use the #if DEBUG preprocessor check to execute logic based on whether app is being built for Debug or Release.
My concern is more about the approach that should be taken when distributing frameworks/xcframeworks. One approach I am thinking of using is checking the presence of {CFBundleName}.debug.dylib in the main bundle. Is this approach reliable? Do you suggest any other approach?
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
Swift Packages
Frameworks
Debugging
App Binary
For example, what if I wanted to remove CoreData from the SDK when I install to reduce the SDK’s size?
After the Update of Latest Command Line Tools 16.3 I am facing issue to compile C++ programs. Like it is giving some kind of library error in the MACOSX15.sdk file and this is the error.
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/machine/_structs.h:35,
from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/arm/_mcontext.h:36,
from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/machine/_mcontext.h:34,
from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/signal.h:146,
from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:109,
from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/_stdlib.h:70,
from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/stdlib.h:58,
from /opt/homebrew/Cellar/gcc/14.2.0_1/include/c++/14/cstdlib:79,
from /opt/homebrew/Cellar/gcc/14.2.0_1/include/c++/14/stdlib.h:36,
from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/assert.h:44,
from /opt/homebrew/Cellar/gcc/14.2.0_1/include/c++/14/cassert:44,
from /opt/homebrew/Cellar/gcc/14.2.0_1/include/c++/14/aarch64-apple-darwin24/bits/stdc++.h:33,
from 1.cpp:1:
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:627:35: error: expected primary-expression before 'unsigned'
627 | } __attribute__((aligned(_Alignof(unsigned int))));
| ^~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:627:26: error: '_Alignof' was not declared in this scope
627 | } __attribute__((aligned(_Alignof(unsigned int))));
| ^~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:633:35: error: expected primary-expression before 'unsigned'
633 | } __attribute__((aligned(_Alignof(unsigned int))));
| ^~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:633:26: error: '_Alignof' was not declared in this scope
633 | } __attribute__((aligned(_Alignof(unsigned int))));
| ^~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:639:35: error: expected primary-expression before 'unsigned'
639 | } __attribute__((aligned(_Alignof(unsigned int))));
| ^~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:639:26: error: '_Alignof' was not declared in this scope
639 | } __attribute__((aligned(_Alignof(unsigned int))));
| ^~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:645:35: error: expected primary-expression before 'unsigned'
645 | } __attribute__((aligned(_Alignof(unsigned int))));
| ^~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:645:26: error: '_Alignof' was not declared in this scope
645 | } __attribute__((aligned(_Alignof(unsigned int))));
But after downgrading the version to 16.2 it works fine. I can't understand that it's their any issue with Command Line Tools 16.3??
Simply opening Simulator app (26.0) causes high CPU usage on macOS Tahoe (26.1).
ReportCrash process usage is very high throughout and causes the system to heat up pretty soon.
Looking into Console app for the logs found MercuryPosterExtension process is keep on crashing. (Check under Crash Reports)
simctl Diagnose
https://download.developer.apple.com/OS_X/OS_X_Logs/simctl_Diagnose_Logging_Instructions.pdf
Share the Simulator Diagnose report while reporting, Thanks.
I have raised a ticket/feedback with Apple. I request all of you to raise one too so this gets fixed soon.
Apple Feedback Assistant - FB20985249
I used to develop iPhone apps about a decade ago and am now back at it with an iPhone and companion Apple Watch app.
Why does it suck so bad? I a must be doing something wrong, but what I am doing is out of the box. The majority of the time when I go to build on the watch I get:
Previous preparation error: A connection to this device could not be established.; Timed out while attempting to establish tunnel using negotiated network parameters.
Which I then first try to force quit the app on the watch and if that does not work, reboot the watch (which is pretty ridiculous).
I tried Gemini and it gave me the following explanation:
This is arguably the single most frustrating error in the entire watchOS development ecosystem. As an expert, I can tell you that you are not doing anything wrong; you are fighting a fragile architecture.
Here is the technical breakdown of why this happens and a workflow to mitigate it without constant reboots.
The Technical "Why"
This error message reveals that the issue lies in the CoreDevice (and formerly usbmuxd) infrastructure, specifically in the secure transport layer.
The "Tunnel" Failure: Xcode attempts to establish a secure, encrypted tunnel (DTXConnection) to the Apple Watch to push the debugger and the app binary. Unlike the iPhone, which can sustain a high-bandwidth connection easily, the Watch aggressively manages its radios (Bluetooth vs. WiFi vs. AWDL) to save battery.
The "Handshake" Timeout: If the Watch is on Bluetooth (Low Energy) when Xcode initiates the tunnel, the bandwidth is insufficient. The system tries to escalate the connection to WiFi (or Apple Wireless Direct Link). If this negotiation takes even a few milliseconds too long—due to 2.4GHz interference, router mDNS configuration, or the Watch CPU being throttled—the handshake times out.
The "Previous Preparation Error": This is the insidious part. Once the handshake fails once, Xcode’s device service caches that failure state for the device UUID. It marks the device as "unreachable" to prevent the IDE from hanging indefinitely on subsequent tries.
Why you see it constantly: You aren't actually triggering a new connection attempt; you are hitting the cached "failed" state immediately.
Unfortunately, the solutions it gives me are:
The "Wired Proxy" Method (Most Reliable)
This is the gold standard for watchOS debugging. Do not rely on "Connect via Network" for the Watch directly if you can avoid it.
Disable WiFi on your Mac (temporarily) or ensure the Mac and iPhone are on the exact same SSID.
Plug your iPhone into the Mac via USB.
Ensure the Watch is paired to that iPhone.
Result: Xcode will tunnel the instructions through the USB connection to the Phone, and the Phone acts as a high-bandwidth proxy to the Watch. This eliminates the "Mac-to-Watch" WiFi negotiation failure point.
Do you hit this regularly? What do you do to make for a smooth development and deployment process? Or is it really this fragile?
Thanks for any help!
Bryan
I have two feedbacks now where I’ve been requested additional info, and provided it, but the feedback still has an “unread” dot, and is still in the “Requests” folder. I’ve asked multiple times to clear this status in one of those feedbacks (FB14888965), but got no response.
Not the end of the world as long as the engineers are notified, but iirc the dot would disappear as soon as I replied.