I’m experiencing a consistent crash of SpringBoard on macOS when running my iOS app in the Simulator. The crash occurs specifically when a critical alert (geofence notification) is triggered by my server and delivered to the app.
Xcode version: 16.4
macOS version: 15.5
App uses UNUserNotificationCenter with critical alert notifications related to geofencing. When the critical alert is received, SpringBoard quits unexpectedly on macOS, crashing the Simulator UI to the home screen.
The notification is delivered by Firebase, and I have updated to the latest version of that.
The console shows:
XPC connection interrupted
[C:1] Error received: Connection interrupted.
[C:1-2] Error received: Connection interrupted.
This does not happen when testing on a real device — the app works fine there, however, Springbaord still crashes on macOS.
Please advise if this is a known issue or if there’s a workaround. This severely impacts development and testing of location-based critical notifications.
The last time I tested this functionality, with an older version of Xcode, I had no issues.
Thank you for your help.
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I have a Xcode project with two apps that have a separate MainMenu.nib file. Both are different apps with different source trees..
Why am I seeing resources in interface builder from one app in another?
I am a bit old school and using the AppDelegate rather than view controllers to capture events... but that should work fine
Thanks ahead of time.
Been trying to get into Developer Prgram since December 2025.
And like many others, it seems the biggest tech company on the planet cannot streamline an enrollment program.
Unless, it’s by design, to test your nerve?
Anyways, I have now ended up paying twice, and still not even a squeak from support.
There is no Developer Support phone number in South Africa, and mails go unanswered.
How is this possible?
$200 out of pocket, and nothing to show.
Cannot even find a method for refunds.
If there are steps to still follow or docs to submit, why take my money, then ask for more info??
But this black hole of SILENCE….
Now that skype is no longer, what other platform will allow me to call the US Support number from South Africa?
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
inline-code
How do you achieve this effect in toolbar? Where is the documentation for this?
How to make it appear top toolbar or bottom toolbar?
Thank you!
Here is what I have now...
.toolbar {
ToolbarItem(placement: .destructiveAction) {
Button {
showConfirm = true
} label: {
Image(systemName: "trash")
.foregroundColor(.red)
}
}
}
.confirmationDialog(
"Are you sure?",
isPresented: $showConfirm,
titleVisibility: .visible
) {
Button("Delete Item", role: .destructive) {
print("Deleted")
}
Button("Archive", role: .none) {
print("Archived")
}
Button("Cancel", role: .cancel) { }
}
}
I have filed bug reports on this to no avail, so I am bringing it up here hoping someone at Apple will address this. Since the first beta of 26.3, with voice control enabled there are now two icons in the menu bar (*plus an orange dot in full screen) that never go away. That orange microphone isn't serving its intended purpose to notify me that something is accessing my microphone if it is always displayed. I use voice control extensively, so it is nearly always on. In every prior version of macOS, the orange icon was not on for voice control. Even if voice control is not listening but simply enabled in system settings, the orange icon will be there. And there is no need for this icon to be on for a system service that is always listening. This orange icon in the menu bar at all times is incredibly irritating, as it takes up valuable space to the right of the notch, and causes other actual useful menu bar items to be hidden. As well, if some other application on my system were to turn on the mic and start recording me I would never know since that orange icon is always on. It also places an orange dot next to the control center icon taking up even more of the precious little menu bar real estate. Please fix this! Either exempt voice control (as Siri is always listening and it doesn't get the orange icon) or exempt all system services, or give me a way to turn this off. If you cannot tell, I find this incredibly annoying and frustrating.
Topic:
Privacy & Security
SubTopic:
General
I started developer enrollment a few weeks ago. My enrollment is stuck. I have received emails from Apple reminding me to upload the documents that were requested but I never got the original email that told me what documents were being requested so I don't know what I'm supposed to upload. I went to the developer.apple.com support page to request a Call Me and when I click the button I get a red error message that says: "There was a problem processing your request." so then I go to Send Us a Message and I receive "This email address isn't valid. To update your email address, visit account.apple.com." and, of course, it IS a valid email address and it is the address I have on file. So, then I called Apple Support and asked if they could, at the very least, put in a Call Me request on my behalf but they said they can't. I have replied to the emails asking me for information but received no response or acknowledgement.
The system won't let me request a call and or send a message, Apple support can't even transfer me, I literally have no idea what to do. I need suggestions. Maybe somebody from Apple Developer enrollment will see this message. I can't think of anything else at the moment. Maybe a signal flare? Homing pigeon? Seriously. Help.
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
Hello!
I'm currently working on Liquid Glass support for my app. I understand that starting with iOS 26, standard buttons like "Close" or "Done" have shifted from text buttons to using SF Symbols, as mentioned in the Human Interface Guidelines under "Icons".
However, on iOS 18 and earlier, the flat text button style remains the standard. I am unsure about the best approach for backward compatibility:
Branch by OS version: Keep text buttons for older OS versions and use SF Symbols for iOS 26+.
Concern: This increases the number of conditional branches, potentially reducing code readability and maintainability.
Adopt SF Symbols universally: Use SF Symbols for all versions.
Concern: I feel that SF Symbols do not fit well (look inconsistent or out of place) with the flat design language of iOS 18 and earlier.
What would be the recommended approach in this situation?
I'm trying to upload my app build with Xcode Cloud. It builds and runs fine on the simulator, but when I try to upload to the cloud it keeps failing from Ad-hoc and Developer Distr. (Error code 70)
I have tried/verified:
-Verifying that my workflow archive in Xcode is set to "App Store Connect" (setting it to internal Test flight did not work either)
-TestFlight Internal is set as a Post-Action and I created/added a test group
-All App Store agreements signed and active
-Revoking out-of-date developer certificates (Development Managed)
-Running build from command line (using git pull origin main, git push origin main)
Excerpts of the Error Output (ip addresses censored)
Export archive for ad-hoc distribution
15.9s
Run command: 'xcodebuild -exportArchive -archivePath /Volumes/workspace/tmp/3fe6638a-94b8-4944-8406-0e291469f933.xcarchive -exportPath /Volumes/workspace/adhocexport -exportOptionsPlist /Volumes/workspace/ci/ad-hoc-exportoptions.plist '-DVTPortalRequest.Endpoint=http://172.16.XX.XX:XXXX' -DVTProvisioningIsManaged=YES -IDEDistributionLogDirectory=/Volumes/workspace/tmp/ad-hoc-export-archive-logs -DVTSkipCertificateValidityCheck=YES -DVTServicesLogLevel=3'
Error
Command exited with non-zero exit-code: 70
Another similar error exists for development distribution
My iOS App testflight builds are stuck in Processing for hours. Usually takes 5 mins. Anyone else having this issue? Submitted a Feedback Assistant report.
A user of my app reported that when my app copies files from a QNAP NAS to a folder on their Mac, they get the error "Result too large". When copying the same files from the Desktop, it works.
I asked them to reproduce the issue with the sample code below and they confirmed that it reproduces. They contacted QNAP for support who in turn contacted me saying that they are not sure they can do anything about it, and asking if Apple can help.
Both the app user and QNAP are willing to help, but at this point I'm also unsure how to proceed. Can someone at Apple say anything about this? Is this something QNAP should solve, or is this a bug in macOS?
P.S.: I've had users in the past who reported the same issue with other brands, mostly Synology.
import Cocoa
@main
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(_ aNotification: Notification) {
let openPanel = NSOpenPanel()
openPanel.canChooseDirectories = true
openPanel.runModal()
let source = openPanel.urls[0]
openPanel.canChooseFiles = false
openPanel.runModal()
let destination = openPanel.urls[0]
do {
try copyFile(from: source, to: destination.appendingPathComponent(source.lastPathComponent, isDirectory: false))
} catch {
NSAlert(error: error).runModal()
}
NSApp.terminate(nil)
}
private func copyFile(from source: URL, to destination: URL) throws {
if try source.resourceValues(forKeys: [.isDirectoryKey]).isDirectory == true {
try FileManager.default.createDirectory(at: destination, withIntermediateDirectories: false)
for source in try FileManager.default.contentsOfDirectory(at: source, includingPropertiesForKeys: nil) {
try copyFile(from: source, to: destination.appendingPathComponent(source.lastPathComponent, isDirectory: false))
}
} else {
try copyRegularFile(from: source, to: destination)
}
}
private func copyRegularFile(from source: URL, to destination: URL) throws {
let state = copyfile_state_alloc()
defer {
copyfile_state_free(state)
}
var bsize = UInt32(16_777_216)
if copyfile_state_set(state, UInt32(COPYFILE_STATE_BSIZE), &bsize) != 0 {
throw NSError(domain: NSPOSIXErrorDomain, code: Int(errno))
} else if copyfile_state_set(state, UInt32(COPYFILE_STATE_STATUS_CB), unsafeBitCast(copyfileCallback, to: UnsafeRawPointer.self)) != 0 {
throw NSError(domain: NSPOSIXErrorDomain, code: Int(errno))
} else if copyfile(source.path, destination.path, state, copyfile_flags_t(COPYFILE_DATA | COPYFILE_SECURITY | COPYFILE_NOFOLLOW | COPYFILE_EXCL | COPYFILE_XATTR)) != 0 {
throw NSError(domain: NSPOSIXErrorDomain, code: Int(errno))
}
}
private let copyfileCallback: copyfile_callback_t = { what, stage, state, src, dst, ctx in
if what == COPYFILE_COPY_DATA {
if stage == COPYFILE_ERR {
return COPYFILE_QUIT
}
}
return COPYFILE_CONTINUE
}
}
I am developing an application on macOS in SwiftUI which exchanges files with other processes on a network. Some of these processes may be on Linux and write to a network drive. The files are refreshed at 10, 15 or 60 second intervals, and keep the same name. The software is supposed to run 24/7 and have persistent paths, so that on restart it does not need setting up. And it runs in the sandbox.
I have got this working with macOS-only external processes by putting the exchange files in a fixed folder on the network storage and using security-scoped bookmarks to the file and or folder.
But it doesn't work so well when one of the writing processes is a Linux process writing to its own storage. I can put a symlink in my fixed folder and if i select the folder and the symlink after each app restart, it works.
but how can i make such a set-up persistent so it works after app restart without manual selection?
Been trying to get into Developer Prgram since December 2025.
And like many others, it seems the biggest tech company on the planet cannot streamline an enrollment program.
Unless, it’s by design, to test your nerve?
Anyways, I have now ended up paying twice, and still not even a squeak from support.
There is no Developer Support phone number in South Africa, and mails go unanswered.
How is this possible?
$200 out of pocket, and nothing to show.
Cannot even find a method for refunds.
If there are steps to still follow or docs to submit, why take my money, then ask for more info??
But this black hole of SILENCE….
Now that skype is no longer, what other platform will allow me to call the US Support number from South Africa?
I have a file that can not be removed. When I attempt rm -f /Applications/CrashPlan.app I get "Operation not permitted"Here is the scenario, CrashPlan.app was installed on the MacBook Pro (MacBookPro14,2) running 10.14.4. I found out it was an older version of CrashPlan so I downloaded the installer for the new version and ran it. The installed failed and left behind a file of size 0K.-rw-r--r--@ 1 root admin 0 Apr 11 11:43 CrashPlan.appI then tried to remove the 0K file in terminal with sudo rm -f /Applications/CrashPlan.app and that failed with operation not permitted. I then booted into Recovery mode and ran csrutil disable from terminal and rebooted.sudo rm -f /Applications/CrashPlan.app still failed with operation not permitted.I ran csrutil status in terminal to make sure that sip was disabled and got back: System Integrity Protection status: disabled.I tried booting into single user mode and mounted the drive and tried to rm from there and got the same result. So, from single user mode I did the following:mv /Applications /ApplicationsOLDmkdir /Applicationsmv /ApplicationsOLD/* /Applications/and got an error "Operation not permitted" for CrashPlan.apprebooted and was able to install the new version of CrashPlan, but now I have a folder /ApplicationsOLD that I can not get rid of.Any ideas?
Or, can we consider the response completes once the prompt disappears?
I will write down the sequence of events in order.
A prompt appeared on our app's page asking us to respond to the survey.
However, likely because the app hadn't been updated for many years, the “Edit” option for age restrictions was not displayed; instead, “View” was shown.
After creating a page for the new app version, “Edit” appeared. We hadn't planned to release the new version to the App Store at this time, but we only created the new page to respond to this survey.
After entering “edit” and answering the age restriction survey, the prompt disappeared.
I contacted Apple Support to find out if just answering would suffice, but they told me to submit the app for review. However, as mentioned above, we have no plans to modify and release this app.
Since it's an old app, I updated the environment, built it, and submitted it, but issues were pointed out. (I think it's because it's an old app.)
When I asked the Apple Review team the same question as at the beginning, they suggested I post it here.
Many thanks!
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
App Review
App Store Connect
The posts I'm reading here are very discouraging. So many people trying to get into the program, even people that have paid and can't get any support.
I've been an Apple developer for 15 years now. I've had various business developer accounts over the years. I've developed in my own name and for customers. This is the first time in a while that I had to get a new business developer account. I applied only a few days ago, so I'm not concerned yet but I don't know why this is so difficult.
The posts that I'm reading her here are very discouraging. Why can't we get support on this? Very disappointing. What is happening to Apple?
I'd like to get my account, and I'd like all these other people to get some help too. But this form looks completely abandoned.
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
We put the apple-app-site-association file at https://ourdomain.com.tr/.well-known/apple-app-site-association.
When we send a request to url, we get 200 response code every time and we can see the file. But sometimes when we try to access https://app-site-association.cdn-apple.com/a/v1/ourdomain.com.tr url with browser or CMD tool, we are facing with 404 response code.
There isn't any ip adress filter in our systems and we tried using vpn for sending same request from different locations(america and europe) but nothing changed.
In addition, can anyone provide the ip list of apple cdn servers to check the F5 Load balancer WAF logs?
CMD output:
C:\Users\Name>curl -Lv https://app-site-association.cdn-apple.com/a/v1/ourdomain.com.tr
Host app-site-association.cdn-apple.com:443 was resolved.
IPv6: (none)
IPv4: 17.253.122.197, 17.253.15.210, 17.253.122.196, 17.253.107.201, 17.253.57.203, 17.253.15.198, 17.253.57.200
Trying 17.253.122.197:443...
Connected to app-site-association.cdn-apple.com (17.253.122.197) port 443
schannel: disabled automatic use of client certificate
ALPN: curl offers http/1.1
ALPN: server accepted http/1.1
using HTTP/1.x
GET /a/v1/ourdomain.com HTTP/1.1
Host: app-site-association.cdn-apple.com
User-Agent: curl/8.9.1
Accept: /
Request completely sent off
schannel: remote party requests renegotiation
schannel: renegotiating SSL/TLS connection
schannel: SSL/TLS connection renegotiated
< HTTP/1.1 404 Not Found
< Apple-Failure-Details: {"cause":"context deadline exceeded (Client.Timeout exceeded while awaiting headers)"}
< Apple-Failure-Reason: SWCERR00301 Timeout
< Apple-From: https://ourdomain.com.tr/.well-known/apple-app-site-association
< Apple-Try-Direct: true
< Cache-Control: max-age=3600,public
< Content-Length: 10
< Content-Type: text/plain; charset=utf-8
< Date: Mon, 14 Apr 2025 12:52:04 GMT
< Expires: Mon, 14 Apr 2025 12:52:14 GMT
< Age: 1770
< Via: http/1.1 uklon5-vp-vst-004.ts.apple.com (acdn/268.14469), https/1.1 uklon5-vp-vfe-002.ts.apple.com (acdn/268.14469), http/1.1 frmrs1-edge-mx-008.ts.apple.com (acdn/268.14469), http/1.1 frmrs1-edge-fx-005.ts.apple.com (acdn/268.14469)
< X-Cache: hit-fresh, hit-stale, hit-fresh, hit-fresh
< CDNUUID: 9e72cf99-1503-4644-9ea3-173328a25c94-31496306226
< Connection: keep-alive
<
Not Found
Connection #0 to host app-site-association.cdn-apple.com left intact
I have a desktop application that shows some real estate properties chosen by the user. The application shows those GPP locations on the map. The SwiftUI code is something like the following.
import SwiftUI
import MapKit
struct ContentView: View {
var body: some View
ZStack {
mapView
}
}
private var mapView: some View {
Map(position: $propertyViewModel.mapPosition) {
ForEach(propertyViewModel.properties) { property in
Annotation("", coordinate: CLLocationCoordinate2D(latitude: property.lat, longitude: property.lon)) {
Button {
} label: {
VStack {
Image(systemName: "house.circle.fill")
.resizable()
.scaledToFit()
.frame(width: 48)
.foregroundStyle(colorScheme == .light ? .white : .black)
...
}
}
.buttonStyle(.borderless)
}
}
UserAnnotation()
}
.mapControls {
MapUserLocationButton()
}
.mapControlVisibility(.visible)
.onAppear {
CLLocationManager().requestWhenInUseAuthorization()
}
}
}
The application only wants to use the CLLocationManager class so that it can show those locations on the map relative to your current GPS position. And I'm hit with two review rejections.
Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage
Issue Description
One or more purpose strings in the app do not sufficiently explain the use of protected resources. Purpose strings must clearly and completely describe the app's use of data and, in most cases, provide an example of how the data will be used.
Guideline 5.1.5 - Legal - Privacy - Location Services
The app uses location data for features that are not relevant to a user's location.
Specifically, the app is not functional when Location Services are disabled.
So I wonder if the application is even required to have 'NSLocationWhenInUseUsageDescription' and/or 'NSLocationUsageDescription'? just in order to show user's current location so that they can see property locations relative to it? The exact location privacy statement is the following.
The application needs your permission in accessing your current location so that it will appear on the map
Topic:
App & System Services
SubTopic:
Maps & Location
Tags:
MapKit
Privacy
SwiftUI
Maps and Location
Hey,
so I wanted to pull from the Github project repository and XCode asked me login again. Forgot my password so I tried a wrong one and now it keeps asking for my Username and Access token, when I actually just want to login with my password. Doesn't let me choose between the too, not even when adding the account through preferences. Anyone know how to just login with password and the reason for this -pardon me- absolutely idiotic choice of not letting the user choose?
Hey, I am looking to participate in the upcoming SSC 2026. I am confused whether I am allowed to submit an idea which is for watchOS. I know the fact that submission would be xcode project and playground correct me if I am wrong but as far as I know, we can develop prototypes for watch on playground. If anyone of you knows about this, please let me know!
Summary
I'm using Background Assets to download Apple-hosted Asset Packs(downloadPolicy = onDemand). The first
download cancellation succeeds, but on the second and subsequent downloads,
progress.cancel() fails to work and the download completes to the end.
Environment
iOS 26.0 – 26.3 RC (all produce the same result)
Xcode Version 26.2 (17C52)
Using Apple-hosted Asset Packs
Steps to Reproduce
Start downloading an Asset Pack
Call progress.cancel() during download → Succeeds
Start downloading the same Asset Pack again
Call progress.cancel() during download → Fails (download completes to the end)
Observed Error Logs
After 1st cancellation:
A download with the ID "X-XXXXXXXX-XXX" failed: Error Domain=NSURLErrorDomain
Code=-999 "cancelled"
↑ This is expected (cancellation succeeded)
The fact that version 0 of the asset pack with the ID "X-XXXXXX-XXX" finished being
downloaded couldn't be reported: Error Domain=NSCocoaErrorDomain Code=3851
"Property list invalid for format: 200 (property lists cannot contain objects of
type 'CFError')"
↑ Problem: Unable to serialize CFError to plist
2nd cancellation attempt:
The download with the ID "X-XXXXXX-XXX" couldn't be canceled: Error
Domain=BAErrorDomain Code=113 "The requested download operation failed because the
download object did not exist."
↑ The download object we're trying to cancel supposedly doesn't exist
Implementation Code
// Cancel implementation
func cancel(tag: String) async {
let statusUpdates = AssetPackManager.shared.statusUpdates(forAssetPackWithID:
tag)
for await statusUpdate in statusUpdates {
if case .downloading(_, let progress) = statusUpdate,
progress.isCancellable
{
progress.cancel()
}
}
}
Analysis
It appears that when the first cancellation occurs, the system internally tries to
save the cancellation state to a plist, but fails to serialize the CFError object.
This seems to cause an inconsistent internal state, preventing the system from
correctly recognizing the download object on subsequent downloads.
Questions
Is there a workaround?
Is there a planned fix for a future iOS version?