We are currently implementing a custom iCloud sync for our macOS and iOS apps using CloudKit. Syncing works fine as long as the number of record sends is relatively small.
But when we test with a large number of changes ( 80,000+ CKRecords ) we start running into problems.
Our sending strategy is very conservative to avoid rate limits:
We send records sequentially in batches of 250 records
With about 2 seconds pause between operations
Records are small and contain no assets (assets are uploaded separately)
At some point we start receiving:
“Database commit size exceeds limit”
After that, CloudKit begins returning rate-limit errors with retryAfter-Information in the error.
We wait for the retry time and try again, but from this moment on, nothing progresses anymore. Every subsequent attempt fails.
We could not find anything in the official documentation regarding such a “commit size” limit or what triggers this failure state.
So my questions are:
Are there undocumented limits on the total number of records that can exist in an iCloud database (private or shared)?
Is there a maximum volume of record modifications a container can accept within a certain timeframe, even if operations are split into small batches with pauses?
Is it possible that sending large numbers of records in a row can temporarily or permanently “stall” a CloudKit container?
Any insights or experiences would be greatly appreciated.
Thank you!
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi everyone!
When I attempt the Post Request using Postman, as shown in my attached curl, I receive the error
"{
"errors": [
{
"status": "405",
"code": "METHOD_NOT_ALLOWED",
"title": "The request method is not valid for the resource path.",
"detail": "The request method used for this request is not valid for the resource path. Please consult the documentation."
}
]
}".
I have constructed the JWT correctly as an admin with correct private Key and Unix Times and I am able to send regular GET requests without issue and I can view the dashboards in App Store Connect.
The described POST request is being rejected, although it says so in the documentation: https://developer.apple.com/documentation/appstoreconnectapi/post-v1-analyticsreportrequests.
Curl:
curl --location 'https://api.appstoreconnect.apple.com/v1/analyticsReportRequests'
--header 'Content-Type: application/json'
--header 'Authorization: Bearer XXX'
--data '{
"data": {
"type": "analyticsReportRequests",
"attributes": {
"accessType": "ONGOING"
},
"relationships": {
"app": {
"data": {
"type": "apps",
"id": "XXXXXXXXXX"
}
}
}
}
}'
(using ONE_TIME_SNAPSHOT makes no difference)
Is this a documentation error ? I'd be happy to hear about a fix.
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect API
Tags:
App Store Connect API
Analytics & Reporting
I'm using Xcode Cloud to build for internal TestFlight testing.
But it stuck in Archive. No warning or error. Unable to complete the workflow.
What could be causing this? I have absolutely no idea what to do now.
Hello,
We are experiencing a persistent issue where macOS builds in Xcode Cloud consistently hang at the Archive stage.
The build itself completes successfully, but no artifacts appear, and it seems the build gets stuck during artifact upload. These builds remain in this state for several days (currently 3 days and counting) not failing, but never finishing.
We opened a support ticket (102756662562), but we have not received any response yet.
We rely on Xcode Cloud for our entire CI/CD pipeline, and at the moment our workflow is completely blocked because of this issue.
Has anyone encountered something similar or found a workaround?
Thank you.
Issue Summary:
iOS 26 UI components are not visible in the Expo app when installed via TestFlight. All components render correctly in local builds or when running with expo run:ios.
Details:
The app is built using Expo managed workflow.
iOS 26-specific UI components do not appear in TestFlight builds.
The same components display correctly in local builds and simulators.
Test device: iPhone running iOS 26.1.
There are no crashes or runtime errors; only the components are missing.
This issue occurs only in TestFlight/release builds.
Expected Behavior:
All iOS 26 UI components should render in TestFlight builds the same way they do in local builds.
Actual Behavior:
Components fail to render or are completely missing.
Device Information:
Device: iPhone
iOS Version: 26.1
Distribution: TestFlight
Local Build: Working correctly
Additional Notes:
This may be related to Expo release build optimization or iOS 26 SDK compatibility.
Hi,
I played around the last days with the new NetworkConnection API from Network framework that supports structured concurrency. I discovered a behavior, which is unexpected from my understanding.
Let's say you have a dead endpoint or something that does not exist. Something where you receive a noSuchRecord error. When I then try to send data, I would expect that the send function throws an error but this does not happen. The function now suspends indefinitely which is well not a great behavior.
Example simplified:
func send() async {
let connection = NetworkConnection(to: .hostPort(host: "apple.co.com", port: 8080)) {
TCP()
}
do {
try await connection.send("Hello World!".raw)
} catch {
print(error)
}
}
I'm not sure if this is the intended behavior or how this should be handled.
Thanks and best regards,
Vinz
We're experiencing crashes in our production iOS app related to Apple's DeviceCheck framework. The crash occurs in DCAnalytics internal performance tracking, affecting some specific versions of iOS 18 (18.4.1, 18.5.0).
Crash Signature
CoreFoundation: -[__NSDictionaryM setObject:forKeyedSubscript:] + 460
DeviceCheck: -[DCAnalytics sendPerformanceForCategory:eventType:] + 236
Observed Patterns
Scenario 1 - Token Generation:
Crashed: com.appQueue
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000010
DeviceCheck: -[DCDevice generateTokenWithCompletionHandler:]
Thread: Background dispatch queue
Scenario 2 - Support Check:
Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000008
DeviceCheck: -[DCDevice _isSupportedReturningError:]
DeviceCheck: -[DCDevice isSupported]
Thread: Main thread
Root Cause Analysis
The DCAnalytics component within DeviceCheck attempts to insert a nil value into an NSMutableDictionary when recording performance metrics, indicating missing nil validation before dictionary operations.
Reproduction Context
Crashes occur during standard DeviceCheck API usage:
Calling DCDevice.isSupported property
Calling DCDevice.generateToken(completionHandler:) (triggered by Firebase App Check SDK)
Both operations invoke internal analytics that fail with nil insertion attempts.
Concurrency Considerations
We've implemented sequential access guards around DeviceCheck token generation to prevent race conditions, yet crashes persist. This suggests the issue likely originates within the DeviceCheck framework's internal implementation rather than concurrent access from our application code.
Note: Scenario 2 occurs through Firebase SDK's App Check integration, which internally uses DeviceCheck for attestation.
Request
Can Apple engineering confirm if this is a known issue with DeviceCheck's analytics subsystem? Is there a recommended workaround to disable DCAnalytics or ensure thread-safe DeviceCheck API usage?
Any guidance on preventing these crashes would be appreciated.
Dear random Apple UIKit engineer. This is a question for you. Today let's speak about keyboard notifications. In particular, UIResponder.keyboardWillShowNotification and UIResponder.keyboardWillHideNotification.
While working with those, I noticed some undocumented behaviour.
First, let me give you some context:
extension UIViewController {
func registerForKeyboardNotifications() {
NotificationCenter.default.addObserver(self, selector: #selector(keyboardNotification), name: UIResponder.keyboardWillShowNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(keyboardNotification), name: UIResponder.keyboardWillHideNotification, object: nil)
}
/// Override this method to handle keyboard notifications.
@objc func keyboardNotification(_ notification: Notification) { ... }
}
Eventually, I found that latter method with 3 dots has an implicit animation inside it's scope. Here is the [proof.](https://medium.com /uptech-team/why-does-uiresponder-keyboard-notification-handler-animate-10cc96bce372)
Another thing I noticed, is that this property definition is perfectly valid let curve = UIView.AnimationCurve(rawValue: 7)!. The 7 btw comes from UIResponder.keyboardAnimationCurveUserInfoKey as a default value during my tests. So, the enum with 4 possible values (0...3) can be initialized with a value out of enum's cases range. Also, how can I initialize UIView.AnimationOption from 7? I will pollute my OptionSet which I feed to options parameter on UIView.animate(...)
My questions:
Why implicit animation is not documented and can I trust it or it's a subject to change.
Why UIView.AnimationCurve(rawValue: 7)! does not crash.
How can I convert UIResponder.keyboardAnimationCurveUserInfoKey's value into UIView.AnimationOption properly if I don't want to use implicit value.
I don't encroach on UIKit secrets. I just need to know how to work with the API.
Thank you!
The current stable macOS version, 26.1 (build 25B78) is missing a corresponding Kernel Debug Kit (KDK) on the developer downloads page.
This means I can't do any kernel-level development tasks currently. For example, if I try to build a new kernel collection with kmutil I get the message
Missing Developer Kit: As of macOS 13.0, you will need to install a KDK matching your build 25B78 to rebuild kernel collections.
but there is no build 25B78 KDK available to download. The latest 26.1 KDK on the download page is 25B5062e (from a beta I believe) and the final stable KDK for build 25B78 (which kernel development tools require) was never published.
Is there any workaround for this to correctly do kernel-level development targeting the latest stable release, or a timeline for when the KDK will release?
Thanks!
I am running some experiments with WebGPU using the wgpu crate in rust. I have some Buffers already allocated in the GPU.
Is it possible to use those already existing buffers directly as inputs to a predict call in CoreML? I want to prevent gpu to cpu download time as much as possible.
Or are there any other ways to do something like this. Is this only possible using the latest Tensor object which came out with Metal 4 ?
My client has provided me with admin access to the Apple Developer console. However, when I log in, I am prompted to enroll in the Apple Developer Program. Should I proceed with the enrollment myself, or does the client need to complete the enrollment from their own account?
Topic:
Community
SubTopic:
Apple Developers
When i publish an internal Testflight , the app is showen in the testflight ready to Install, but if i press install , i ll get an error , can not find application .
the bundle identifyer is the same. No missing contracts to sign.
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
A functioning Multiplatform app, which includes use of Continuity Camera on an M1MacMini running Sequoia 15.5, works correctly capturing photos with AVCapturePhoto. However, that app (and a test app just for Continuity Camera) crashes at delegate callback when run on a 2017 MacBookPro under MacOS 13.7.5. The app was created with Xcode 16 (various releases) and using Swift 6 (but tried with 5). Compiling and running the test app with Xcode 15.2 on the 13.7.5 machine also crashes at delegate callback.
The iPhone 15 Continuity Camera gets detected and set up correctly, and preview video works correctly. It's when the CapturePhoto code is run that the crash occurs.
The relevant capture code is:
func capturePhoto() {
let captureSettings = AVCapturePhotoSettings()
captureSettings.flashMode = .auto
photoOutput.maxPhotoQualityPrioritization = .quality
photoOutput.capturePhoto(with: captureSettings, delegate: PhotoDelegate.shared)
print("**** CameraManager: capturePhoto")
}
and the delegate callbacks are:
class PhotoDelegate: NSObject, AVCapturePhotoCaptureDelegate {
nonisolated(unsafe) static let shared = PhotoDelegate()
// MARK: - Delegate callbacks
func photoOutput(
_ output: AVCapturePhotoOutput,
didFinishProcessingPhoto photo: AVCapturePhoto,
error: (any Error)?
) {
print("**** CameraManager: didFinishProcessingPhoto")
guard let pData = photo.fileDataRepresentation() else {
print("**** photoOutput is empty")
return
}
print("**** photoOutput data is \(pData.count) bytes")
}
func photoOutput(
_ output: AVCapturePhotoOutput,
willBeginCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings
) {
print("**** CameraManager: willBeginCaptureFor")
}
func photoOutput(_ output: AVCapturePhotoOutput, willCapturePhotoFor resolvedSettings: AVCaptureResolvedPhotoSettings) {
print("**** CameraManager: willCaptureCapturePhotoFor")
}
}
The crash report significant parts are.....
Crashed Thread: 3 Dispatch queue: com.apple.cmio.CMIOExtensionProviderHostContext
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Codes: 0x0000000000000001, 0x0000000000000000
Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process: exc handler [30850]
VM Region Info: 0 is not in any region. Bytes before following region: 4296495104
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
UNUSED SPACE AT START
--->
__TEXT 100175000-10017f000 [ 40K] r-x/r-x SM=COW ...tinuityCamera
Thread 0:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x7ff803aed552 mach_msg2_trap + 10
1 libsystem_kernel.dylib 0x7ff803afb6cd mach_msg2_internal + 78
2 libsystem_kernel.dylib 0x7ff803af4584 mach_msg_overwrite + 692
3 libsystem_kernel.dylib 0x7ff803aed83a mach_msg + 19
4 CoreFoundation 0x7ff803c07f8f __CFRunLoopServiceMachPort + 145
5 CoreFoundation 0x7ff803c06a10 __CFRunLoopRun + 1365
6 CoreFoundation 0x7ff803c05e51 CFRunLoopRunSpecific + 560
7 HIToolbox 0x7ff80d694f3d RunCurrentEventLoopInMode + 292
8 HIToolbox 0x7ff80d694d4e ReceiveNextEventCommon + 657
9 HIToolbox 0x7ff80d694aa8 _BlockUntilNextEventMatchingListInModeWithFilter + 64
10 AppKit 0x7ff806ca59d8 _DPSNextEvent + 858
11 AppKit 0x7ff806ca4882 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1214
12 AppKit 0x7ff806c96ef7 -[NSApplication run] + 586
13 AppKit 0x7ff806c6b111 NSApplicationMain + 817
14 SwiftUI 0x7ff90e03a9fb 0x7ff90dfb4000 + 551419
15 SwiftUI 0x7ff90f0778b4 0x7ff90dfb4000 + 17578164
16 SwiftUI 0x7ff90e9906cf 0x7ff90dfb4000 + 10340047
17 ContinuityCamera 0x10017b49e 0x100175000 + 25758
18 dyld 0x7ff8037d1418 start + 1896
Thread 1:
0 libsystem_pthread.dylib 0x7ff803b27bb0 start_wqthread + 0
Thread 2:
0 libsystem_pthread.dylib 0x7ff803b27bb0 start_wqthread + 0
Thread 3 Crashed:: Dispatch queue: com.apple.cmio.CMIOExtensionProviderHostContext
0 ??? 0x0 ???
1 AVFCapture 0x7ff82045996c StreamAsyncStillCaptureCallback + 61
2 CoreMediaIO 0x7ff813a4358f __94-[CMIOExtensionProviderHostContext captureAsyncStillImageWithStreamID:uniqueID:options:reply:]_block_invoke + 498
3 libxpc.dylib 0x7ff803875b33 _xpc_connection_reply_callout + 36
4 libxpc.dylib 0x7ff803875ab2 _xpc_connection_call_reply_async + 69
5 libdispatch.dylib 0x7ff80398b099 _dispatch_client_callout3 + 8
6 libdispatch.dylib 0x7ff8039a6795 _dispatch_mach_msg_async_reply_invoke + 387
7 libdispatch.dylib 0x7ff803991088 _dispatch_lane_serial_drain + 393
8 libdispatch.dylib 0x7ff803991d6c _dispatch_lane_invoke + 417
9 libdispatch.dylib 0x7ff80399c3fc _dispatch_workloop_worker_thread + 765
10 libsystem_pthread.dylib 0x7ff803b28c55 _pthread_wqthread + 327
11 libsystem_pthread.dylib 0x7ff803b27bbf start_wqthread + 15
Of course, the MacBookPro is an old device - but Continuity Camera works with the installed Photo Booth app, so it's possible.
Any thoughts on solving this situation would be appreciated.
Regards, Michaela
My team recently released an app to the iOS app store. We are trying to add the Smart App Banner to our website to promote the app, but the banner is not shown. When the page loads, there is a flash of an empty Smart App Banner before it is automatically dismissed. This happens on every page load. If I put use an app ID of other apps the banner appears. I've triple checked that I'm using the correct app ID. So it seems like it is an issue with my app. I can see my app in the App Store, so I know it's available. I've tested on multiple phones.
I'm currently creating an app that uses UIRequiresFullScreen.
UIRequiresFullScreen has been deprecated, but if I continue to use it, will my app be rejected in future Store reviews?
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Apple Pay v2 (signedTransactionInfo) : how to verify new token format and migrate from legacy EC_v1?
I’m updating a legacy application that used Apple Pay v1 token format, and in my new revamped version I’m now receiving the newer Apple Pay v2 format.
The old (v1) payload looked like this:
php
{
"version": "EC_v1",
"data": "...",
"signature": "...",
"header": {
"ephemeralPublicKey": "...",
"publicKeyHash": "...",
"transactionId": "..."
}
}
In the new revamp (v2), Apple Pay returns this instead:
php
{
"signedTransactionInfo": "eyJhbGciOiJFUzI1NiIsIng1YyI6WyJNSUlF..."
}
From what I understand:
v1 tokens were elliptic-curve encrypted JSON objects containing a header and signature.
v2 tokens seem to be JWS (JSON Web Signature) strings using the ES256 algorithm, possibly containing transaction and subscription details inside.
Questions
Is there any official Apple documentation or migration note explaining the move from EC_v1 → signedTransactionInfo?
How should I verify or decode the new signedTransactionInfo payload?
Should the verification now use Apple’s public keys instead of the legacy Merchant ID certificate?
Are there any example implementations or SDKs that can handle both v1 and v2 formats during migration?
Is there a recommended way to maintain backward compatibility while transitioning existing users?
Goal
Ensure that my revamped app can handle Apple Pay v2 tokens securely while keeping the legacy v1 integration functional until all users are migrated.
Today, I used xcrun notarytool submit to upload my packaged Electron app for macOS—once as a .zip file and once as a .dmg—for Apple notarization. However, both submissions have been stuck at "Current status: In Progress" for several hours now.
I’ve also checked the status using xcrun notarytool info, and it keeps returning status: In Progress.
Could someone please help me understand what might be going wrong?
This is quite urgent—if a technical support engineer or anyone from the team could take a look, I’d be glad to provide the UUIDs of my notarization requests.
Topic:
Code Signing
SubTopic:
Notarization
We are developing an enterprise app that connects to a local server.
It uses simple URLSessions. There is a view in the app where you enter the server url (IP address) and a connection check is made.
iOS asks for permission to access the local network.
Everything works. If the server is reachable, the connection info is saved.
Recently we encountered a very strange issue:
We also have a beta version of this app.
If we first install the normal version on a device, enter the server IP, save, and then install the beta version and do the same there: It does not get a connection (it waits for the timeout).
The strange part is: If I try to configure the connection in the normal version again, it also does not work, it just waits for the timeout.
The really strange part: When I delete the beta version, while the normal version is waiting for its connection, the connection succeeds immediately.
Both versions have a different display name, bundle id.
I also tried using a device that is not in our MDM: same problem.
Even the iOS version seems to have no impact: I tried on iOS 15, 18 and 26.
Is there an explanation and hopefully also a solution to this problem?
Topic:
App & System Services
SubTopic:
Networking
We are implementing a camera intercom calling feature using VoIP Push notifications (PushKit) and LiveCommunicationKit (iOS 17.4+). The app works correctly when running in foreground or background, but fails when the app is completely terminated (killed by user or system). After accepting the call from the system call UI, the app launches but gets stuck on the launch screen and cannot navigate to our custom intercom interface.
Environment
iOS Version: iOS 17.4+ (testing on latest iOS versions)
Xcode Version: Latest version
Device: iPhone (tested on multiple devices)
Programming Languages: Objective-C + Swift (mixed project)
Frameworks Used: PushKit, LiveCommunicationKit (iOS 17.4+)
App State When Issue Occurs: Completely terminated/killed
Problem Description
Expected vs Actual Behavior
App State Behavior
Foreground ✅ VoIP push → System call UI → User accepts → Navigate to intercom → Works
Background ✅ VoIP push → System call UI → User accepts → Navigate to intercom → Works
Terminated ❌ VoIP push → System call UI → User accepts → App launches but stuck on splash screen → Cannot navigate
Root Issues
When app is terminated and user accepts the call:
Data Loss: pendingNotificationData stored in memory is lost when app is killed and relaunched
Timing Issue: conversationManager(_:perform:) delegate method is called before homeViewController is initialized
Lifecycle Confusion: App initialization sequence when launched from terminated state via VoIP push is unclear
Code Flow
VoIP Push Received (app terminated):
func pushRegistry(_ registry: PKPushRegistry,
didReceiveIncomingPushWith payload: PKPushPayload,
for type: PKPushType,
completion: @escaping () -> Void) {
let notificationDict = NotificationDataDecode.dataDecode(payloadDict) as? [AnyHashable: Any]
let isAppActive = UIApplication.shared.applicationState == .active
// Store in memory (PROBLEM: lost when app is killed)
pendingNotificationData = isAppActive ? nil : notificationDict
if !isAppActive {
// Report to LCK
try await conversationManager.reportNewIncomingConversation(uuid: uuid, update: update)
}
completion()
}
User Accepts Call:
func conversationManager(_ manager: ConversationManager, perform action: ConversationAction) {
if let joinAction = action as? JoinConversationAction {
// PROBLEM: pendingNotificationData is nil (lost)
// PROBLEM: homeViewController might not be initialized yet
if let pendingData = pendingNotificationData {
ModelManager.share().homeViewController.gotoCallNotificationView(pendingData)
}
joinAction.fulfill(dateConnected: Date())
}
}
Note: When user taps "Accept" on system UI, LiveCommunicationKit calls conversationManager(_:perform:) delegate method, NOT a manual acceptCall method.
Questions for Apple Support
App Lifecycle: When VoIP push is received and app is terminated, what is the exact lifecycle? Does app launch in background first, then transition to foreground when user accepts? What is the timing of application:didFinishLaunchingWithOptions: vs pushRegistry:didReceiveIncomingPushWith: vs conversationManager(_:perform:)?
State Persistence: What is the recommended way to persist VoIP push data when app is terminated? Should we use UserDefaults, NSKeyedArchiver, or another mechanism? Is there a recommended pattern for this scenario?
Initialization Timing: When conversationManager(_:perform:) is called with JoinConversationAction after app launch from terminated state, what is the timing relative to app initialization? Is homeViewController guaranteed to be ready, or should we implement a waiting/retry mechanism?
Navigation Pattern: What is the recommended way to navigate to a specific view controller when app is launched from terminated state? Should we:
Handle it in application:didFinishLaunchingWithOptions: with launch options?
Handle it in conversationManager(_:perform:) delegate method?
Use a notification/observer pattern to wait for initialization?
Completion Handler: In pushRegistry:didReceiveIncomingPushWith, we call completion() immediately after starting async reportNewIncomingConversation task. Is this correct, or should we wait for the task to complete when app is terminated?
Best Practices: Is there a recommended pattern or sample code for integrating LiveCommunicationKit with VoIP push when app is terminated? What are the best practices for handling app state persistence and navigation in this scenario?
Attempted Solutions
Storing pendingNotificationData in memory → Failed: Data lost when app is killed
Checking UIApplication.shared.applicationState → Failed: Doesn't reflect true state during launch
Calling gotoCallNotificationView in conversationManager(_:perform:) → Failed: homeViewController not ready
Additional Information
Singleton pattern: LCKCallManagerSwift, ModelManager
homeViewController accessed via ModelManager.share().homeViewController
Mixed Objective-C and Swift architecture
conversationManager(_:perform:) is called synchronously and must call joinAction.fulfill() or joinAction.fail()
Requested Help
We need guidance on:
Correct app lifecycle handling when VoIP push is received in terminated state
How to persist VoIP push data across app launches
How to ensure app initialization is complete before navigating
Best practices for integrating LiveCommunicationKit with VoIP push when app is terminated
Thank you for your assistance!
Topic:
App & System Services
SubTopic:
Notifications
My account has problem in notary a app;
and I request a support in 10/28/2025 ,but not got reply ;
yestoday , I concat support team by both email and telephone, they call me but still can't resolve problem, now I can only wait endless for a reply email , don't know what happend;
Topic:
Community
SubTopic:
Apple Developers