My app requires Google or Apple login. The App Store requires an active email for review. How can the App review team access my email if it required 2FA? I don't understand how I can get an app reviewed it they need me to provide a code after they login?
It seems ridiculous that I need to supply them with a test email, why can't they test with a dummy email? Is it just not possible to get an app reviewed if the app requires Apple or Google logins? Should I temporarily add the option for any email to setup an account and just make a dummy email and then after review asap remove the email login from the app? that seems like a lot of unnecessary programming just because they the need me to provide an email address and login.
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
iOS App terminated by Watchdog (Signal 9) in Background state despite reporting call
Description
I have successfully implemented VoIP pushes for the Killed state, where CallKit triggers correctly. However, when the app is in the Background state (suspended), it consistently crashes with an NSInternalInconsistencyException.
The app process is killed by the iOS Watchdog because it fails to satisfy the requirement of posting an incoming call in the same run loop as the push receipt, or the completion handler is not being released fast enough by the JS bridge.
Environment
React Native Version: .78
React Native CallKeep Version: 4.3.14
React Native VoIP Push Notification Version: 3.3.3
iOS Version: 18.x
Device: Physical iPhone [iphone 13 pro]
The Issue
When a VoIP push arrives while the app is in the Background:
pushRegistry:didReceiveIncomingPushWithPayload: is called.
RNCallKeep.reportNewIncomingCall is triggered on the Main Thread.
The app is terminated by the system before the CallKit UI is fully established or before the completion() closure is executed.
Current Implementation (AppDelegate.swift)
func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType, completion: @escaping () -> Void) {
let payloadDict = payload.dictionaryPayload
let callerName = payloadDict["callerName"] as? String ?? "Unknown Caller"
let callUUIDString = payloadDict["uuid"] as? String ?? UUID().uuidString
let userGUID = payloadDict["guid"] as? String ?? "0"
RNCallKeep.reportNewIncomingCall(
callUUIDString,
handle: userGUID,
handleType: "generic",
hasVideo: false,
localizedCallerName: callerName,
supportsHolding: true,
supportsDTMF: true,
supportsGrouping: true,
supportsUngrouping: true,
fromPushKit: true,
payload: ["userGuid": userGUID],
withCompletionHandler: {
}
)
RNVoipPushNotificationManager.didReceiveIncomingPush(with: payload, forType: type.rawValue)
completion()
}
Logs
Exception Type: EXC_CRASH (SIGKILL)
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: TCC 1 |
[CoreFoundation] Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push.
Observed Behavior
Killed State: Works perfectly.
Foreground State: Works perfectly.
Background State: The phone may vibrate once, but the app process is killed before the CallKit UI appears.
Questions/Suspected Causes
Is RNVoipPushNotificationManager.addCompletionHandler causing a delay in the background run loop that triggers the Watchdog?
Should completion() be called immediately in Swift for the Background state, rather than waiting for VoipPushNotification.onVoipNotificationCompleted in JS?
Is there a known issue with RNCallKeep not being able to present the UI while the app is in a suspended background state?
I'm facing an issue with Xcode Cloud.
Every branch I push to my GitLab repository is not appearing as selectable when I try to create a build with my workflow. Additionally, if I try to update the workflow from Xcode, it crashes every time I save the changes.
Any help would be appreciated.
Translated Report (Full Report Below)
-------------------------------------
Process: Xcode [32110]
Path: /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier: com.apple.dt.Xcode
Version: 26.2 (24553)
Build Info: IDEApplication-24553000000000000~2 (17C52)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: com.apple.dt.Xcode [58945]
User ID: 501
Date/Time: 2026-02-19 13:11:54.9987 -0600
Launch Time: 2026-02-19 13:03:37.7725 -0600
Hardware Model: Mac16,5
OS Version: macOS 26.2 (25C56)
Release Type: User
Crash Reporter Key: 61D7E2DA-E724-EFE2-6A01-25079BFCA2D1
Incident Identifier: B3D4A277-7CB5-4696-A00F-057929659F41
Sleep/Wake UUID: 2D4F6C41-716C-4B47-8D40-27FD2D74A8AE
Time Awake Since Boot: 440000 seconds
Time Since Wake: 15967 seconds
System Integrity Protection: enabled
Triggered by Thread: 9, Dispatch Queue: com.apple.root.user-initiated-qos.cooperative
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: Namespace SIGNAL, Code 6, Abort trap: 6
Terminating Process: Xcode [32110]
Application Specific Information:
abort() called
Thread 0:: Dispatch queue: com.apple.main-thread
0 AppKit 0x19ffb8250 __51-[NSWindow(NSDisplayCycle) _postWindowNeedsDisplay]_block_invoke + 0
1 CoreFoundation 0x19afe4604 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 28
2 CoreFoundation 0x19afe4544 __CFRunLoopDoBlocks + 396
3 CoreFoundation 0x19afe3988 __CFRunLoopRun + 2356
4 CoreFoundation 0x19b09de34 _CFRunLoopRunSpecificWithOptions + 532
5 HIToolbox 0x1a7ad3790 RunCurrentEventLoopInMode + 316
6 HIToolbox 0x1a7ad6ab8 ReceiveNextEventCommon + 488
7 HIToolbox 0x1a7c60b64 _BlockUntilNextEventMatchingListInMode + 48
8 AppKit 0x19f8fcb5c _DPSBlockUntilNextEventMatchingListInMode + 236
9 AppKit 0x19f3f6e48 _DPSNextEvent + 588
10 AppKit 0x19fec1d0c -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688
11 AppKit 0x19fec1a18 -[NSApplication(NSEventRouting) nextEventMatchingMask:untilDate:inMode:dequeue:] + 72
12 AppKit 0x19f3ef780 -[NSApplication run] + 368
13 IDEKit 0x10cf3f630 -[IDEApplication run] + 192
14 AppKit 0x19f3db6dc NSApplicationMain + 880
15 dyld 0x19ab7dd54 start + 7184
Thread 1:: com.apple.NSEventThread
0 libsystem_kernel.dylib 0x19af02c34 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x19af15028 mach_msg2_internal + 76
2 libsystem_kernel.dylib 0x19af0b98c mach_msg_overwrite + 484
3 libsystem_kernel.dylib 0x19af02fb4 mach_msg + 24
4 CoreFoundation 0x19afe4ba0 __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x19afe34f8 __CFRunLoopRun + 1188
6 CoreFoundation 0x19b09de34 _CFRunLoopRunSpecificWithOptions + 532
7 AppKit 0x19f486a34 _NSEventThread + 184
8 libsystem_pthread.dylib 0x19af45c08 _pthread_start + 136
9 libsystem_pthread.dylib 0x19af40ba8 thread_start + 8
Thread 2:
0 libsystem_kernel.dylib 0x19af02c34 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x19af15028 mach_msg2_internal + 76
2 libsystem_kernel.dylib 0x19af0b98c mach_msg_overwrite + 484
3 libsystem_kernel.dylib 0x19af02fb4 mach_msg + 24
4 CoreFoundation 0x19afe4ba0 __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x19afe34f8 __CFRunLoopRun + 1188
6 CoreFoundation 0x19b09de34 _CFRunLoopRunSpecificWithOptions + 532
7 Foundation 0x19d232964 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
8 DTDeviceKitBase 0x118331930 +[DTDKRemoteDeviceConnection startServiceBrowsers] + 148
9 Foundation 0x19c7fd7a0 __NSThread__start__ + 732
10 libsystem_pthread.dylib 0x19af45c08 _pthread_start + 136
11 libsystem_pthread.dylib 0x19af40ba8 thread_start + 8
Hi, I develop an ES client applying rule-engine evaluating ES events (mostly File-system events).
It is a bit non-standard not being deployed as a System-Extension, but rather as a global daemon.
On some Macs, I sometimes see "crash reports" for the ES process, all sharing
Termination Reason: Namespace ENDPOINTSECURITY, Code 2 EndpointSecurity client terminated because it failed to respond to a message before its deadline
All of these happen not while normal Mac usage, but rather right at Mac wakeup time after sleep.
My guess is, some ES_AUTH events (with deadline) arrive when Mac goes to sleep, and somehow my high-priority dispatch_queue handling them is "put to sleep" mid processing them, so when the Mac wakes up - event handling continues long after the deadline passed, and MacOS decides to kick the process.
Questions:
What is the recommended behavior with ES vs Sleep/Wake cycles? (we're not an antivirus, and we don't care much to clear events or go "blind" for such time)
Can I specify somewhere in the info.plist of my bundle (this is built like an App) that my process should't be put to sleep, or that the OS should sleep it only when it becomes idle, or some other way tells the OS it is "ready for sleep" ?
If not -- How do I observe the scenario so I can suspend my event handling IN TIME and resume on wake?
Thanks!
I'm building an app that heavily relies on EKEventStore for calendar and reminder integration. The API is simple - and limited.
Change notifications amount to "something changed, you'd better refetch everything you care about." There's no way to know whether the calendar was updated while your app was closed or backgrounded. EKEvents and EKReminders don't trigger SwiftUI view updates, so you end up shunting them into your own observable state and keeping the two in sync.
My app is fairly complex rendering-wise, and I lament being locked into treating EKEventStore as a first-class citizen of my view and data layer. It makes everything clunkier, essentially shuts the door on modern features like undo/redo, and makes integrating with other calendar providers that much harder.
I'm exploring a custom SwiftData DataStore ↔ EKEventStore sync engine, but this is no easy task. There are still many unknowns I'd need to spike out before I can even attempt a proper implementation.
Still, I'm curious - is this something being actively worked on behind the scenes? Will we see a more modern, observable, SwiftUI-native EventKit integration in the future?
Not quite but maybe sorta related to the errOSAInternalTableOverflow problem I asked about in a different thread, this one deals with crashes our app gets (and much more frequently lately after recent OS updates (15.7.3) are OK'd by our IT department).
Our app can run multiple jobs concurrently, each in their own NSOperation. Each op creates its own SBApplication instance that controls unique instances of InDesignServer. What I'm seeing recently is lots of crashes happening while multiple ops are calling into ScriptingBridge. Shown at the bottom is one of the stack crawls from one of the threads. I've trimmed all but the last of our code. Other threads have a similar stack crawl.
In searching for answers, Google's AI overview mentions "If you must use multiple threads, ensure that each thread creates its own SBApplication instance…" Which is what we do. No thread can reach another thread's SBApplication instance. Is that statement a lie? Do I need to lock around every ScriptingBridge call (which is going to severely slow things down)?
0 AE 0x1a7dba8d4 0x1a7d80000 + 239828
1 AE 0x1a7d826d8 AEProcessMessage + 3496
2 AE 0x1a7d8f210 0x1a7d80000 + 61968
3 AE 0x1a7d91978 0x1a7d80000 + 72056
4 AE 0x1a7d91764 0x1a7d80000 + 71524
5 CoreFoundation 0x1a0396a64 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
6 CoreFoundation 0x1a03969f8 __CFRunLoopDoSource0 + 172
7 CoreFoundation 0x1a0396764 __CFRunLoopDoSources0 + 232
8 CoreFoundation 0x1a03953b8 __CFRunLoopRun + 840
9 CoreFoundation 0x1a03949e8 CFRunLoopRunSpecific + 572
10 AE 0x1a7dbc108 0x1a7d80000 + 246024
11 AE 0x1a7d988fc AESendMessage + 4724
12 ScriptingBridge 0x1ecb652ac -[SBAppContext sendEvent:error:] + 80
13 ScriptingBridge 0x1ecb5eb4c -[SBObject sendEvent:id:keys:values:count:] + 216
14 ScriptingBridge 0x1ecb6890c -[SBCommandThunk invoke:] + 376
15 CoreFoundation 0x1a037594c ___forwarding___ + 956
16 CoreFoundation 0x1a03754d0 _CF_forwarding_prep_0 + 96
17 RRD 0x1027fca18 -[AppleScriptHelper runAppleScript:withSubstitutionValues:usingSBApp:] + 1036
I'm having a permissions issue in my Apple developer account and I'd like to contact support to get it sorted out but https://developer.apple.com/contact/ isn't working for me. I get an endless wait spinner and "ERROR:" in the top left corner (with no error message).
Has anyone else ever encountered this and is there some other possible way I can get in touch with Apple Developer support?
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
Has anyone been able to raise a ticket with the support team in the past 48 hours without getting an infinite loader or error on the page?
Topic:
Community
SubTopic:
Apple Developers
Is there a way to extract the Accessibility Tree directly from the browser? Since Chrome provides an API for it, can we use that to generate a dump of the Accessibility Tree?
Enrollment ID: N3YWJ93HS7. I paid $99 for the Apple Developer Program on Feb 23, 2026. It has been 3 days and my account still shows "Purchase your membership" at developer.apple.com/account. I cannot access App Store Connect. Previous case IDs: 102831115675 and 102831304416. Please activate my enrollment. This is blocking our app launch.
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
I have built a MAC-OS machine intelligence application that uses Apple Intelligence. A part of the application is to preprocess text. For longer text content I have implemented chunking to get around the token limit. However the application performance is now limited by the fact that Apple Intelligence is sequential in operation. This has a large impact on the application performance.
Is there any approach to operate Apple Intelligence in a parallel mode or even a streaming interface. As Apple Intelligence has Private Cloud Services I was hoping to be able to send multiple chunks in parallel as that would significantly improve performance.
Any suggestions would be welcome. This could also be considered a request for a future enhancement.
Topic:
Machine Learning & AI
SubTopic:
Apple Intelligence
I’m looking for some insight regarding the Apple Developer Program enrollment. I completed my payment (649 TL) 3 days ago, and my account status is still showing as "Pending."
I have already ensured that my Apple ID name (Ulaş Cem Budak) matches my legal ID perfectly. However, I haven't received any activation email or requests for further documentation yet.
Is a 3-day (or longer) wait normal for the initial activation in 2026? Should I continue to wait, or is it better to contact support via phone at this stage?
Any advice from those who recently enrolled would be greatly appreciated.
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
Description
I am observing a critical issue when saving burst photos using the Photos Framework. If a burst photo with the same burstIdentifier already exists in the "Recently Deleted" album, any new assets saved via PHAssetCreationRequest are automatically merged into that deleted entry instead of appearing in the main Library or "All Photos."
Environment
Framework: Photos Framework (iOS)
API: [[PHPhotoLibrary sharedPhotoLibrary] performChanges:...]
Code Snippet
The following logic is used to save the burst assets:
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
// 'paths' is a custom object providing the creation request
PHAssetCreationRequest *assetCreationRqst = [paths assetCreationRqst];
assetCreationRqst.favorite = [FavorManager.shared isSetDownloadedAssetFavorite:self.curItem];
PHObjectPlaceholder *placeHolder = assetCreationRqst.placeholderForCreatedAsset;
localIdentifier = placeHolder.localIdentifier;
} completionHandler:^(BOOL success, NSError * _Nullable error) {
if (success) {
// The handler returns success, but the asset is invisible to the user
[weakSelf handleDownloadSuccess:localIdentifier];
}
// ... cleanup and completion ...
}];
Steps to Reproduce
Save a burst photo to the iPhone's built-in Photos app.
Manually delete that burst photo so it moves to the "Recently Deleted" album.
Execute the code above to save the same burst photo (or a new set containing the same burstIdentifier in its metadata).
Check the main Photo Library / "All Photos" view.
Observed Result
The completionHandler returns success = YES, and a localIdentifier is generated.
The photo does not appear in the main Library or "All Photos."
The newly saved photo is silently merged into the existing burst set located inside the "Recently Deleted" folder.
The user cannot see the new photo unless they manually "Restore" the deleted items from the album.
Expected Behavior
PHAssetCreationRequest should always result in a visible asset in the user's Library. Even if a matching burstIdentifier exists in "Recently Deleted," the system should treat the new request as a new independent asset or provide an error, rather than hiding it within a deleted collection.
From the Feb 24 news, I understand that for all Apple users in Brazil with iOS26.2 and newer, isEligibleForAgeFeatures will eventually return true. Brazil is a "nonregulated region", and developers will need to handle all three situations of ask first/always share/never share.
Please correct me if I'm wrong above. A few questions follow on the eligibility check:
What's the return value of IsEligibleForAgeFeatures for a Brazilian user who has NOT touched the age range feature at all, thus hasn't picked one of the three options?
How can we test these cases? From the updated sandbox doc, there's more information on declined/approved, will those the same behaviors as a future Brazilian user? The doc used to say Texas, now it doesn't say any region.
On which date will Apple START to return true for IsEligibleForAgeFeatures for Brazilian users? I cannot find the exact date anywhere.
Will ALL of Brazil return true overnight, or is there some ramp up that developers need to be aware of?
Thanks a lot for sharing the guidance, and thanks in advance for more guidance to come!
Apple platforms make it easy to distribute your app to a variety of compatible devices, so it’s important to maximize your app experience on each platform you support. Here are some tips from App Review to help you understand how device compatibility impacts your app’s distribution — and how to make sure your apps shine on every platform they’re on.
Understand device compatibility
There are many ways an app built for one Apple device can run on other Apple devices:
Apps designed for iPhone can run on iPad devices in compatibility mode if there are no dependencies on iPhone device capabilities.
Compatible iPhone and iPad apps can run unmodified on Macs with Apple Silicon.
Compatible iPhone and iPad apps can run unmodified on Apple Vision Pro.
Xcode provides options to configure settings for apps on multiple platforms. You can specify which platforms your app’s target supports in the Supported Destination field.
However, it’s important to note: People may still be able to run your app on a device even if you remove it or don't include it as a Supported Destination in Xcode.
For example, as long as an app designed for iPhone doesn’t depend on a capability that’s only available on iPhone, it can be downloaded from the App Store onto iPad. Adding or removing iPad as a Supported Destination in Xcode won’t change that app’s availability on iPad.
To view examples of cases where it's appropriate to restrict availability, see Restrict device distribution below.
Follow compatibility best practices
1. Plan and test for compatibility modes so your app works on every device where it can be downloaded.
Do:
Use Xcode simulators to verify basic functionality across different device types.
Leverage TestFlight with external testers who have access to a wide range of Apple devices.
Don't:
Don’t submit for review without testing your app’s behavior in compatibility modes.
Don’t assume removing a supported destination in Xcode prevents distribution to that device type.
2. Build adaptive interfaces that work across device variations.
Do:
Build interfaces that respond to different screen sizes and orientations.
Adapt features based on available hardware, providing alternatives for a consistent experience.
Don't:
Don’t design rigid interfaces that assume only one type of device or input method.
Don’t let your app crash or become unusable when optional hardware is unavailable.
Restrict device distribution
Wherever possible, it’s best to make your app available on multiple platforms to increase its reach and provide people with a consistent experience across devices. But there are cases where it does makes sense to restrict an app’s availability. For example:
iPhone apps that rely on iPhone-specific hardware won’t function as expected on iPad. Use the UIRequiredDeviceCapabilities key in the information property list file to specify hardware dependencies.
Note: Apps should only use the UIRequiredDeviceCapabilities key for genuine hardware dependencies, not to indicate distribution preferences.
Navigation- or camera-based apps are not well suited for visionOS. Learn more about managing availability of iPhone and iPad apps on Apple Vision Pro.
Apps that rely heavily on touch inputs that can’t be replicated on a keyboard are not well suited for macOS. Learn more about restricting distribution to Apple Silicon devices.
Learn more about how to configure multiplatform apps in Xcode.
Support
If you need more assistance, explore these support options:
If your submission has been rejected, reply to the message from App Review in App Store Connect and request clarification.
Request an App Review appointment through Meet with Apple. Appointments are available during local business hours on Tuesdays and Thursdays.
If you believe your app follows the App Review Guidelines, consider submitting an appeal to the App Review Board.
Some users have switched to wearing smart rings instead of an Apple Watch, but they still want their rings to close throughout the day in Apple Fitness to keep their streaks going.
I've noticed that the 3rd party smart ring apps do not affect the progress of the exercise and move rings unless the user puts on their Apple Watch and syncs with there iPhone throughout the day.
Is there a way to make the progress rings update throughout the day without having to connect an Apple Watch periodically?
We are creating an app and app is uploaded on the TestFlight but it is not allowing to download from TestFlight. We are unable to connect to Apple Developer Support teams. Any one please guide us why it is showing error when we try to download from iPhone App store ( The requested App is not available or does not exist)
If I delete Safari and only have another browser installed on my device, UIApplication.shared.open does not work. I think this is a bug. Why would it not work?
If Safari is not the main browser, UIApplication would open the URL in my main browser.
Those are valid use cases.
I would expect this API to work with any browser...
iOS 26.2
iPhone 14 Pro
guard let url = URL(string: "https://www.apple.com") else {
return
}
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url)
} else {
print("Could not open URL")
}
Topic:
UI Frameworks
SubTopic:
UIKit
On the following developer account page, you have the ability to update your address information, but it does not appear to be working for me.
If you go to https://developer.apple.com/account and scroll down the page. You come to a section called Membership Details with a link to update your information. When you click on this link it shows a dialog which has two choices. One is for Change Contact Details and the other is for Switch to Organization Membership. When I attempt to Select Change Contact Details. Nothing happens at all. No screen is shown. Nothing, whatsoever.
Please advise what the problem might be thank you. I need to change my contact address.
Topic:
App Store Distribution & Marketing
SubTopic:
General
iOS | 26.3 specific | Google Map hangs after sharing the location to other app which open the location in new app
Device: iPhone 13 Pro Max
iOS Version: iOS 26.3
Google Maps Version: 26.08.2
Steps to Reproduce:
Open Google Maps.
Select any location
Tap Share.
Share the location to another app (e.g., navigation app, co - pilot or any third party apps).
Return to Google Maps.
Expected Result:
Google Maps should continue functioning normally.
Actual Result:
Google Maps becomes unresponsive and hangs.
Topic:
App & System Services
SubTopic:
Maps & Location