iOS is the operating system for iPhone.

Posts under iOS tag

200 Posts

Post

Replies

Boosts

Views

Activity

iOS version of my app got stuck in "Waiting for review" the macOS version was already approved
Hi everyone, I submitted a universal app earlier this week on Monday at 12:00 AM. The macOS version went through the queue smoothly and was approved within 2 days. However, the iOS version is still stuck in the "Waiting for Review" stage. It hasn't even changed to "In Review" yet, and it has now been over 5 days. A few details about the app: It has no login or account requirements. It doesn't rely on any external dependencies. Has anyone else experienced severe iOS queue delays this week? Is it normal for the iOS queue to be this backed up while the Mac queue flies by? I haven't sent a formal inquiry to the App Review team yet because the contact page wording was a bit confusing, so I wanted to check here first to see if this is a widespread queue backlog or if I should just keep waiting over the weekend. Thanks!
0
0
169
5d
PHAssetChangeRequest deleteAssets completionHandler for recently captured 48MP DNG sometimes never called
I want to report a issue on PHAssetChangeRequest.deleteAssets Environment iOS 18.5, iOS 26.2.5, iOS 27.0 Steps to Reproduce Capture a 48MP ProRAW (DNG) photo with the Camera app. Open my app, call the following api to delete this photo: PHPhotoLibrary.shared().performChanges({ PHAssetChangeRequest.deleteAssets(assets) }, completionHandler: completionHandler) Expected The system delete-confirmation dialog appears; after the user confirms, the asset is deleted and the completionHandler is called or report error if it failed Actual Sometime the following issue happens: The confirmation dialog never appears and the completionHandler is never called no success, no error, no timeout. The built-in Photos app can delete the affected asset but API can't. The stuck request leaks permanently. Even after the same asset is subsequently deleted via the built-in Photos app, the pending completionHandler is still never invoked. Workaround for this issue When the issue happens, restarting the iPhone or reinstall app can not help to fix it But I found if I leave the device alone for an extended period (maybe 10 min~1 hour) and restart the iPhone, finally I found PHAssetChangeRequest.deleteAssets work again. It looks like some background task for 48MP RAW image in DNG format stuck delete API. I need to wait the task finished and restart device to reset stuck status. But I can not know when the DNG is ready to delete, it looks like my app hangs I think the better behavior is completion block should return a error to tell user what happens instead of not calling completion block.
1
0
663
6d
Removing or invalidating a BLE bond when the app is the peripheral (CBPeripheralManager)
Our iOS app runs in the peripheral role. A hardware accessory acts as the central: it connects to the app and bonds in order to read and write characteristics we declare with encryption-required permissions. The app advertises so a previously bonded accessory can reconnect on its own. The problem is that the bond lives on both sides and we can only clear one of them. The accessory has its own "forget this phone" function, and it can also be told to do so remotely. iOS keeps its half, and we have not found any way for the app to remove or invalidate it. What we've checked: CBPeripheralManager and CBCentral expose no unpair or unbond operation. A CBCentral is only visible while connected or subscribed, and its identifier is a resolved handle. Questions: Is there a supported way for an app in the peripheral role to remove or invalidate the pairing keys for a bonded central? If we've missed an API, please point us at it. If not, what's the recommended approach when the peer has discarded its keys and the bond is no longer usable? Can a peripheral-role app detect that state — a distinguishable error or connection event when encryption fails — so we can tell the user something accurate instead of a generic connection failure?
3
0
193
6d
ASDServerErrorDomain Code 3504 when purchasing non-consumable IAP
I am experiencing an issue with a non-consumable in-app purchase in my iOS app. The product loads correctly from the App Store and is displayed in the app, but when attempting to complete the purchase, StoreKit returns the following error: Payment completed with error: Error Domain=ASDServerErrorDomain Code=3504 "This item cannot be found." UserInfo={ NSLocalizedFailureReason=This item cannot be found., AMSServerErrorCode=3504, client-environment-type=Sandbox, storefront-country-code=USA } The same issue was also encountered by the App Review tester when they attempted to purchase the non-consumable product during review. The product: Is correctly configured in App Store Connect Has active pricing Is available in the United States Was included in the app submission Loads successfully and displays the correct price Fails only when the purchase is initiated Since the product metadata can be retrieved successfully, but the transaction fails with “This item cannot be found,” this appears to be a possible inconsistency between the StoreKit product catalog and the purchase backend. Has anyone encountered ASDServerErrorDomain Code=3504 for a non-consumable product that loads correctly but cannot be purchased? Is there any known App Store sandbox or commerce backend issue that can cause this, or any additional App Store Connect configuration that should be checked?
3
0
393
1w
CarPlay - Navigation Entitlement
We went through Apple's CarPlay documentation and, based on what we found, CarPlay provides templates for both Navigation and Audio, and our app has entitlements for both. One thing we would like to confirm before proceeding with implementation is whether a single app can expose both Navigation and Audio experiences in CarPlay, using both entitlements. Specifically, can the same CarPlay app provide a navigation experience (e.g., using CPMapTemplate) while also exposing an Audio/"Now Playing" experience, or does Apple expect these experiences to be implemented as separate apps or otherwise treated as separate CarPlay experiences? We'd also like to confirm whether CarPlay now allows an app to display a split-screen interface with navigation/map content on one side and audio controls or "Now Playing" controls on the other side. If so, is this something a single app with both Navigation and Audio entitlements can implement? The documentation explains the available templates and entitlements, but we couldn't find explicit guidance on whether the same app can leverage both Navigation and Audio experiences or whether these can be presented together in a split-screen layout. We'd like to clarify this before implementing the "Now Playing" screen, to ensure our approach aligns with Apple's CarPlay requirements and guidelines.
1
0
199
1w
iCloud Dashboard returns "Internal Error" when querying records across all containers
Recently, I am experiencing a CKErrorServerRejectedRequest error during my app's iCloud data sync process. I have not modified or migrated the schema recently. To troubleshoot, I logged into the iCloud Dashboard (CloudKit Console) to query the records directly. However, the dashboard also returns a generic "Internal Error" with no additional details whenever I attempt a query. Here is what I have tried so far: Private Database Only: The error only occurs within the Private Database. Querying the Public Database works normally and correctly returns "No records found." Multiple Containers: This issue affects all of my existing containers across both Development and Production environments. New Container Test: I created a brand new container with a new table, verified that the indexes are set to QUERYABLE, and attempted a query. The same "Internal Error" occurs. System Status: I checked the Apple Developer System Status page (https://developer.apple.com/system-status/), and both "CloudKit Console" and "CloudKit Database" are showing green (normal). Is anyone else experiencing this, or is there a known workaround for account-wide dashboard query failures?
2
1
473
1w
iOS 26 regression? `enablesReturnKeyAutomatically`'s disabled return key re-enables after switching keyboard planes (letters ⇄ numbers)
On iOS 26, the auto-disabled state of the return key driven by UITextInputTraits.enablesReturnKeyAutomatically is lost whenever the user switches keyboard planes (letters ⇄ numbers/symbols via the 123/ABC key). The key renders as enabled even though the text is still empty. Tapping it does nothing (the disable is still honored functionally), but the visual state is wrong until the next re-evaluation. This is a regression: iOS/iPadOS 17 behaves correctly (verified on iPadOS 17.7). It also reproduces in Safari's own address bar on iOS 26, so it does not appear to be app-specific. Minimal reproduction (stock UIKit, no custom code): let textField = UITextField() textField.enablesReturnKeyAutomatically = true // present it, focus it, leave it empty Focus the empty text field — the return key is disabled (correct). Tap 123 to switch to the numeric plane → the return key becomes enabled (incorrect — text is still empty). Type one character and delete it (still in the numeric plane) → the key becomes disabled again (correct). Tap ABC to switch back to the letters plane → the key becomes enabled again (incorrect). Safari reproduction (stock behavior, physical device): Open Safari on iOS 26, focus the address bar, and delete all text → the Go key disables (correct). Switch to the numeric plane → the Go key re-enables (incorrect). Tapping it gives haptic feedback but performs no action — the disable is still honored functionally; only the rendered state is wrong. Still in the numeric plane, type something (e.g. 123.456) and delete it all → the key correctly disables again (the hasText round-trip re-syncs it?) Switch back to the letters plane → the key wrongly re-enables again. The glitch triggers on plane switches in either direction. Additional observations (from our app's UITextFields — the same enablesReturnKeyAutomatically mechanism, but driven by a stricter text-validity rule than plain empty/non-empty, which makes the desync observable in more states): Two further workarounds restore the correct state after the glitch: switching the keyboard language (globe key), or changing the text and then tapping anywhere in the text field. A text change that does not flip the hasText state, without a follow-up tap, does not repaint the key. The pattern suggests that the keyboard rebuild triggered by switching planes defaults the return key to enabled without consulting the text state, and that the keyboard otherwise repaints the key only when the hasText answer transitions, or on input-session changes (tapping into the field, switching keyboard language). Environment: all reproductions and verifications were done on physical devices, not simulators — reproduced on an iPhone SE (iOS 26.5.2) and an iPad Pro 12.9" 4th gen (iPadOS 26.4.2); not reproducible on an iPad 6th gen (iPadOS 17.7.10). Is this a known issue, and is there a supported way to force the keyboard to re-evaluate the return key state after a plane switch?
0
1
309
1w
Large memory consumption when running Core ML model on A13 GPU
We recently had to change our MLModel's architecture to include custom layers, which means the model can't run on the Neural Engine anymore. After the change, we observed a lot of crashes being reported on A13 devices. It turns out that the memory consumption when running the prediction with the new model on the GPU is much higher than before, when it was running on the Neural Engine. Before, the peak memory load was ~350 MB, now it spikes over 2 GB, leading to a crash most of the time. This only seems to happen on the A13. When forcing the model to only run on the CPU, the memory consumption is still high, but the same as running the old model on the CPU (~750 MB peak). All tested on iOS 16.1.2. We profiled the process in Instruments and found that there are a lot of memory buffers allocated by Core ML that are not freed after the prediction. The allocation stack trace for those buffers is the following: We ran the same model on a different device and found the same buffers in Instruments, but there they are only 4 KB in size. It seems, Core ML is somehow massively over-allocating memory when run on the A13 GPU. So far we limit the model to only run on CPU for those devices, but this is far from ideal. Is there any other model setting or workaround that we can use to avoid this issue?
3
2
2.3k
1w
iOS 26 Beta bug - keyboard toolbar with bottom safe area inset
Hello! I have experienced a weird bug in iOS 26 Beta (8) and previous beta versions. The safe area inset is not correctly aligned with the keyboard toolbar on real devices and simulators. When you focus a new textfield the bottom safe area is correctly placed aligned the keyboard toolbar. On real devices the safe area inset view is covered slightly by the keyboard toolbar, which is even worse than on the simulator. Here's a clip from a simulator: Here's the code that reproduced the bug I experienced in our app. #Preview { NavigationStack { ScrollView { TextField("", text: .constant("")) .padding() .background(Color.secondary) TextField("", text: .constant("")) .padding() .background(Color.green) } .padding() .safeAreaInset(edge: .bottom, content: { Color.red .frame(maxWidth: .infinity) .frame(height: 40) }) .toolbar { ToolbarItem(placement: .keyboard) { Button {} label: { Text("test") } } } } }
4
12
1.4k
1w
Multiple calls to same caller - Iphone
I'm not sure where the best place to post this. Previous to ios 26, if you called a phone number multiple times, it used to have the number of calls in brackets, but more importantly pressing i next to the call would give you the call times for each call. In ios 26, say you called the same number 4 times, now when you press i, it only gives you the call time of the last call. Can anyone on ios 27 beta confirm if this has now been fixed, or if not how it can be raised with the ios development team. Finally, i know you have an option called call history, however for some reason not all calls show, and facetime/ whatsapp calls are not showing at all. Thanks
0
0
220
1w
First-time App Store launch: Is this timeline and cost realistic for an individual developer account?
I'm building my first mobile app with a developer, and I'm trying to understand the full App Store publishing process before making a decision on how to move forward. Another developer I'm considering working with instead of my current developer told me the following: "If you do it yourselves, your developer will have to learn everything for the first time. Registering a business and getting the corporate key takes about a week, getting a D-U-N-S number can take up to a month, rebuilding a web app into a mobile UI is a skill in itself, Capacitor is a skill, push notifications can be very challenging, then there's App Store compliance, submission, possible rejection and resubmission. You'll also realistically need a Mac to publish to the App Store. Overall, expect 2–3 months and well over $2,000 before you might be on the App Store." My situation is: I'm a solo founder. The app already exists as a web app. We plan to wrap/build it into a native mobile app (likely using Capacitor or a similar approach). I'm happy to publish under an individual Apple Developer account for now if that simplifies things. I don't necessarily need an organization account at this stage. My biggest priority is speed. I'm not trying to build the perfect long-term company structure right now. I want to get my app into people's hands as quickly as possible so I can validate the product, learn from real users, and iterate. If there are trade-offs that let me launch faster without creating major technical debt or problems later, I'm very open to that. I'm hoping to understand from developers who have actually been through this process: Which parts of the statement above are accurate? Which parts only apply if you're publishing as an organization rather than an individual? Is 2–3 months a realistic estimate for someone who already has a working web app and an experienced developer? If your goal was simply to get an MVP into users' hands as quickly as possible, how would you approach it? Are there any hidden hurdles or costs that first-time founders commonly underestimate? Also for better context: this developer who made this comment to me said they're charging $1100 AUD to ONLY convert our web app into a mobile app. They also proposed a $450/month retainer after the migration for maintenance, tweaks, etc. I'd really appreciate hearing from anyone who's published apps to the App Store recently. Thanks!
3
1
606
1w
Xcode 26.5 can't run apps on visionOS 27 and iOS 27 Beta 2
With Xcode Version 26.5 (17F42) apps can no longer be launched on a real Vision Pro once migrated to visionOS 27 Beta 2. At launch there is an EXC_BAD_ACCESS runtime error in an initialiser. If you launch apps on a real iPhone/Ipad with OS 27 Beta 2 the program will stop before the end of its start, but there is no precise line with the error. Xcode just stop in assembly code in the debugger, in the init phase of Swift where it searches for which objects to instantiate at launch. After investigating, the error comes from a debug setting from Xcode to show the stack trace. To avoid the error when run from Xcode Version 26.5 (17F42) In Xcode, open Product > Scheme > Edit Scheme. Select the Run action in the sidebar, then open the Options tab. Find Queue Debugging and uncheck Enable backtrace recording. If Queue debugging is enabled, then the program crashes when launched It is useful to be able to run apps from the production Xcode to devices with 27 OSes in beta to be able to test that everything will work fine for new versions of apps released before OSes 27 release. Thank you A previous post was made but the cause was badly identified. New Feedback including a sample code FB23384318
7
0
598
1w
Repeated Guideline 4.3(a) rejection for an original Unity game — no actionable clarification after 3 months
Hello, We are a registered software company and have been unable to publish our iOS game for approximately three months because of repeated rejections under Guideline 4.3(a). The first rejection stated that our app shared a similar binary, metadata, and/or concept with apps previously submitted by a terminated Apple Developer Program account. Later rejections repeated similar general wording but did not identify the application, account, source-code component, asset, SDK, metadata element, or design considered similar. Our game is an original Unity project developed by our own team for more than two years. It was not purchased as a template, cloned, reskinned, or repackaged from another application. We possess the complete Unity project, client and server source code, Git development history, design source files, custom assets, backend infrastructure, and all related project files. Our core code, game systems, UX/UI design, and custom visual work were created by our team. Any limited third-party assets or SDKs used by the project were obtained from legitimate sources, and the relevant licenses and purchase records are available. The game also includes substantial custom functionality: • A server-authoritative real-time multiplayer architecture developed by our team • A 51-point opening rule that forms the core of every match • Custom scoring and penalty rules for plays made on other players’ opened tile groups • Matchmaking, table management, reconnect, timeout, and authoritative game-state recovery systems • Multiple game modes and competitive tables • Tournaments and leaderboards • Friends, private messaging, in-game chat, and direct table invitations • Player progression, daily rewards, missions, collectible profile icons, and virtual gifts We use only one Bundle ID and one App Store Connect record. We have not submitted duplicate versions of this application through multiple Bundle IDs or unrelated developer accounts
2
0
229
1w
Parallel swift testing on multiple ios simulators
Due to massive amount of shared state in my project I cannot really use swift testing parallelization in my tests, so my idea was to embed all suites into single one with .serialized and then run them on several simulators to speed up the tests. I ran tests with xcodebuild ... -parallel-testing-enabled YES -parallel-testing-worker-count 2, but swift testing suites seemed to be executed on just one simulator. Is it possible to run swift testing tests in parallel on multiple iOS simulators, but serially within each of them? Or the only way is xctest?
1
0
227
1w
iPhone accepts BLE HID keyboard base keys but strips Shift from composite mouse+keyboard device
I’m debugging a custom BLE HID device on iPhone. It is a composite HID mouse + keyboard dongle. Setup: Hardware: Seeed XIAO nRF52840 Firmware: Adafruit Bluefruit Arduino / BLEHidAdafruit BLE HID report map: stock Adafruit composite HID with keyboard, consumer, and mouse reports GAP/advertising appearance: HID_MOUSE iOS adopts the device as an AssistiveTouch pointer Mouse movement and clicks work correctly Keyboard symptom: Lowercase/unshifted characters type correctly. Shifted characters lose the Shift modifier during text input: - A -> a - T -> t - DoorDash -> doordash - ! -> 1 - @ -> 2 - # -> 3 - { -> [ - } -> ] Confirmed: The iOS app sends the exact intended string to the dongle. Firmware receives the exact string. Firmware computes and sends the expected HID modifier/keycode: A sends modifier 0x02 + HID_KEY_A ! sends modifier 0x02 + HID_KEY_1 A lone isolated "A" still lands as "a", so this does not appear to be a timing or repeated-key issue. Cmd+Space works from the same HID keyboard report path and opens Spotlight. Full Keyboard Access is off. Turning AssistiveTouch off does not fix it. The iPhone never shows "Hardware Keyboard" settings for this device, even when searching Settings. Question: Is there a documented distinction on iOS between accepting BLE HID keyboard reports for global shortcuts, such as Cmd+Space, and admitting the same device as a full Hardware Keyboard for text composition? In particular: Does the absence of Hardware Keyboard settings mean iOS has not classified the device as a real external keyboard? Can a composite BLE HID device advertised as HID_MOUSE be accepted for pointer input but have Shift ignored for text input? Does iOS require a different GAP appearance, HID report-map structure, report ordering, or separate keyboard identity for Shift/modifier text composition to work? Is there a recommended way to build a BLE HID device that preserves AssistiveTouch pointer behavior while also being treated as a full external keyboard?
4
0
777
1w
Wi-Fi and Bluetooth intermittently turn off on iOS 27 Beta 1
I am experiencing random Wi-Fi and Bluetooth disconnections while using iOS 27. Both Wi-Fi and Bluetooth disconnect unexpectedly, then reconnect automatically a few seconds later. I have seen many similar reports on Reddit, so this does not seem to be an isolated issue. I have already submitted a report through Feedback Assistant with the feedback ID FB23121586. I hope this issue can be fixed soon, because it is really stressful when playing online games on my iPhone and worrying that the connection might suddenly drop. :(
2
1
786
1w
SwiftUI template in Instruments 26.4.1 shows empty channels on iOS 26.4.2 device — even with a minimal TimelineView repro
Hi all, I've hit a reproducible issue where the presence of the SwiftUI instrument in a template prevents any data from being recorded, including from the other instruments in the same template. Removing the SwiftUI instrument immediately restores normal recording. Environment Host: macOS 26.4.1 (25E253), Mac mini Xcode / Instruments 26.4.1 (17E202) Device: iPhone 17, iOS 26.4.2 (23E261) (physical device, USB-attached) Symptom Recording the same app, same device, same session, only varying the template contents: SwiftUI template (as-is) => All lanes empty across the entire recording Same template with the SwiftUI instrument removed => Data collected normally (Time Profiler samples, Hangs, etc.) So it seems not an issue with the SwiftUI lanes specifically being empty — including the SwiftUI instrument appears to silence the entire recording. Steps to reproduce Open Instruments → pick the SwiftUI template (or build a custom template that includes the SwiftUI instrument alongside, e.g., Time Profiler). Target the device, attach to the running app. Record for ~10s, interact with the app. Stop. Result: every lane is empty. Edit the template, remove the SwiftUI instrument, re-record with no other changes. Result: normal data appears in the remaining instruments. Questions Is this a known regression in Instruments 26.4.1 on iOS 26.4.x? Is there a workaround to use the SwiftUI instrument on this OS combo (different Xcode build, runtime flag, entitlement)? Does it work for anyone on iOS 26.4.x + Xcode 26.4.1, or is everyone seeing this? I can file a Feedback if confirmed as a bug — wanted to check here first in case I'm missing a setup step. Thanks!
3
2
941
1w
register account
Hello everyone, I am experiencing a similar issue to the one reported by aarshps: "I hope someone has encountered this specific pattern and resolved it, or can point me in the right direction to escalate the issue." In my case, my iOS Apple Developer account (Case ID: 102929769930) has been pending for 40 days. I have met all of Apple's requirements, but support staff stated they could not verify my subscription or enrollment. The only potential detail on my end is that the payment was made using my son's credit card (Felipe Silva Ferraz), while the developer account was registered under my own name (Ademir Gomes Ferraz). I have sent multiple emails through the support portal, and my account still hasn't been approved. If anyone has faced this pattern or knows how to properly escalate it, please let me know.
0
0
290
1w
App Review eligibility and account requirement for local domain blocking using NEPacketTunnelProvider
I previously asked in the Network Extension forum about the supported architecture for local, user-controlled domain blocking on unmanaged consumer iPhones. Apple Developer Technical Support explained that using NEPacketTunnelProvider for a purpose other than a VPN is not a DTS-supported use case. DTS also noted that App Review has the final say regarding what may or may not be distributed through the App Store and directed me to App Review for clarification. URL Filters do not provide the intended device-wide domain visibility and user-controlled blocking. At the same time, the deployment restrictions described in TN3134 prevent the use of the relevant content-filtering provider types on unmanaged consumer iPhones. The proposed app is a consumer privacy and security app. It would use NEPacketTunnelProvider to identify destination domains locally and allow the user to block selected domains. The app would not provide a remote VPN service. Network traffic would not be routed to a remote VPN endpoint, and the app would not offer location changing, anonymous browsing, IP address masking, or access to a private network. My questions are: Would this use of NEPacketTunnelProvider be eligible for distribution on the App Store, even though DTS does not support this packet tunnel use case? Would App Review classify this as a VPN service, or could it be classified as a security or content-blocking app under App Store Review Guideline 5.4? If it is classified as a security or content-blocking app rather than a VPN service, may it be submitted by an individual Apple Developer Program member, or is enrollment as an organization required? I understand that a forum response cannot guarantee approval of a future submission. I am trying to clarify the likely classification and account requirement before proceeding with further development.
0
0
448
1w
iOS version of my app got stuck in "Waiting for review" the macOS version was already approved
Hi everyone, I submitted a universal app earlier this week on Monday at 12:00 AM. The macOS version went through the queue smoothly and was approved within 2 days. However, the iOS version is still stuck in the "Waiting for Review" stage. It hasn't even changed to "In Review" yet, and it has now been over 5 days. A few details about the app: It has no login or account requirements. It doesn't rely on any external dependencies. Has anyone else experienced severe iOS queue delays this week? Is it normal for the iOS queue to be this backed up while the Mac queue flies by? I haven't sent a formal inquiry to the App Review team yet because the contact page wording was a bit confusing, so I wanted to check here first to see if this is a widespread queue backlog or if I should just keep waiting over the weekend. Thanks!
Replies
0
Boosts
0
Views
169
Activity
5d
PHAssetChangeRequest deleteAssets completionHandler for recently captured 48MP DNG sometimes never called
I want to report a issue on PHAssetChangeRequest.deleteAssets Environment iOS 18.5, iOS 26.2.5, iOS 27.0 Steps to Reproduce Capture a 48MP ProRAW (DNG) photo with the Camera app. Open my app, call the following api to delete this photo: PHPhotoLibrary.shared().performChanges({ PHAssetChangeRequest.deleteAssets(assets) }, completionHandler: completionHandler) Expected The system delete-confirmation dialog appears; after the user confirms, the asset is deleted and the completionHandler is called or report error if it failed Actual Sometime the following issue happens: The confirmation dialog never appears and the completionHandler is never called no success, no error, no timeout. The built-in Photos app can delete the affected asset but API can't. The stuck request leaks permanently. Even after the same asset is subsequently deleted via the built-in Photos app, the pending completionHandler is still never invoked. Workaround for this issue When the issue happens, restarting the iPhone or reinstall app can not help to fix it But I found if I leave the device alone for an extended period (maybe 10 min~1 hour) and restart the iPhone, finally I found PHAssetChangeRequest.deleteAssets work again. It looks like some background task for 48MP RAW image in DNG format stuck delete API. I need to wait the task finished and restart device to reset stuck status. But I can not know when the DNG is ready to delete, it looks like my app hangs I think the better behavior is completion block should return a error to tell user what happens instead of not calling completion block.
Replies
1
Boosts
0
Views
663
Activity
6d
Removing or invalidating a BLE bond when the app is the peripheral (CBPeripheralManager)
Our iOS app runs in the peripheral role. A hardware accessory acts as the central: it connects to the app and bonds in order to read and write characteristics we declare with encryption-required permissions. The app advertises so a previously bonded accessory can reconnect on its own. The problem is that the bond lives on both sides and we can only clear one of them. The accessory has its own "forget this phone" function, and it can also be told to do so remotely. iOS keeps its half, and we have not found any way for the app to remove or invalidate it. What we've checked: CBPeripheralManager and CBCentral expose no unpair or unbond operation. A CBCentral is only visible while connected or subscribed, and its identifier is a resolved handle. Questions: Is there a supported way for an app in the peripheral role to remove or invalidate the pairing keys for a bonded central? If we've missed an API, please point us at it. If not, what's the recommended approach when the peer has discarded its keys and the bond is no longer usable? Can a peripheral-role app detect that state — a distinguishable error or connection event when encryption fails — so we can tell the user something accurate instead of a generic connection failure?
Replies
3
Boosts
0
Views
193
Activity
6d
ASDServerErrorDomain Code 3504 when purchasing non-consumable IAP
I am experiencing an issue with a non-consumable in-app purchase in my iOS app. The product loads correctly from the App Store and is displayed in the app, but when attempting to complete the purchase, StoreKit returns the following error: Payment completed with error: Error Domain=ASDServerErrorDomain Code=3504 "This item cannot be found." UserInfo={ NSLocalizedFailureReason=This item cannot be found., AMSServerErrorCode=3504, client-environment-type=Sandbox, storefront-country-code=USA } The same issue was also encountered by the App Review tester when they attempted to purchase the non-consumable product during review. The product: Is correctly configured in App Store Connect Has active pricing Is available in the United States Was included in the app submission Loads successfully and displays the correct price Fails only when the purchase is initiated Since the product metadata can be retrieved successfully, but the transaction fails with “This item cannot be found,” this appears to be a possible inconsistency between the StoreKit product catalog and the purchase backend. Has anyone encountered ASDServerErrorDomain Code=3504 for a non-consumable product that loads correctly but cannot be purchased? Is there any known App Store sandbox or commerce backend issue that can cause this, or any additional App Store Connect configuration that should be checked?
Replies
3
Boosts
0
Views
393
Activity
1w
CarPlay - Navigation Entitlement
We went through Apple's CarPlay documentation and, based on what we found, CarPlay provides templates for both Navigation and Audio, and our app has entitlements for both. One thing we would like to confirm before proceeding with implementation is whether a single app can expose both Navigation and Audio experiences in CarPlay, using both entitlements. Specifically, can the same CarPlay app provide a navigation experience (e.g., using CPMapTemplate) while also exposing an Audio/"Now Playing" experience, or does Apple expect these experiences to be implemented as separate apps or otherwise treated as separate CarPlay experiences? We'd also like to confirm whether CarPlay now allows an app to display a split-screen interface with navigation/map content on one side and audio controls or "Now Playing" controls on the other side. If so, is this something a single app with both Navigation and Audio entitlements can implement? The documentation explains the available templates and entitlements, but we couldn't find explicit guidance on whether the same app can leverage both Navigation and Audio experiences or whether these can be presented together in a split-screen layout. We'd like to clarify this before implementing the "Now Playing" screen, to ensure our approach aligns with Apple's CarPlay requirements and guidelines.
Replies
1
Boosts
0
Views
199
Activity
1w
App Review Delay
Hello App Review Team, My app has an update that has been submitted for more than a week now. Submission ID: a8d50d9b-b327-4bf6-9a0b-4bab80d6dbdb Previous updates have been reviewed in a day or two max. Kindly let me know if further delay is expected, or if anything is needed from my end. Thank You
Replies
0
Boosts
0
Views
110
Activity
1w
iCloud Dashboard returns "Internal Error" when querying records across all containers
Recently, I am experiencing a CKErrorServerRejectedRequest error during my app's iCloud data sync process. I have not modified or migrated the schema recently. To troubleshoot, I logged into the iCloud Dashboard (CloudKit Console) to query the records directly. However, the dashboard also returns a generic "Internal Error" with no additional details whenever I attempt a query. Here is what I have tried so far: Private Database Only: The error only occurs within the Private Database. Querying the Public Database works normally and correctly returns "No records found." Multiple Containers: This issue affects all of my existing containers across both Development and Production environments. New Container Test: I created a brand new container with a new table, verified that the indexes are set to QUERYABLE, and attempted a query. The same "Internal Error" occurs. System Status: I checked the Apple Developer System Status page (https://developer.apple.com/system-status/), and both "CloudKit Console" and "CloudKit Database" are showing green (normal). Is anyone else experiencing this, or is there a known workaround for account-wide dashboard query failures?
Replies
2
Boosts
1
Views
473
Activity
1w
iOS 26 regression? `enablesReturnKeyAutomatically`'s disabled return key re-enables after switching keyboard planes (letters ⇄ numbers)
On iOS 26, the auto-disabled state of the return key driven by UITextInputTraits.enablesReturnKeyAutomatically is lost whenever the user switches keyboard planes (letters ⇄ numbers/symbols via the 123/ABC key). The key renders as enabled even though the text is still empty. Tapping it does nothing (the disable is still honored functionally), but the visual state is wrong until the next re-evaluation. This is a regression: iOS/iPadOS 17 behaves correctly (verified on iPadOS 17.7). It also reproduces in Safari's own address bar on iOS 26, so it does not appear to be app-specific. Minimal reproduction (stock UIKit, no custom code): let textField = UITextField() textField.enablesReturnKeyAutomatically = true // present it, focus it, leave it empty Focus the empty text field — the return key is disabled (correct). Tap 123 to switch to the numeric plane → the return key becomes enabled (incorrect — text is still empty). Type one character and delete it (still in the numeric plane) → the key becomes disabled again (correct). Tap ABC to switch back to the letters plane → the key becomes enabled again (incorrect). Safari reproduction (stock behavior, physical device): Open Safari on iOS 26, focus the address bar, and delete all text → the Go key disables (correct). Switch to the numeric plane → the Go key re-enables (incorrect). Tapping it gives haptic feedback but performs no action — the disable is still honored functionally; only the rendered state is wrong. Still in the numeric plane, type something (e.g. 123.456) and delete it all → the key correctly disables again (the hasText round-trip re-syncs it?) Switch back to the letters plane → the key wrongly re-enables again. The glitch triggers on plane switches in either direction. Additional observations (from our app's UITextFields — the same enablesReturnKeyAutomatically mechanism, but driven by a stricter text-validity rule than plain empty/non-empty, which makes the desync observable in more states): Two further workarounds restore the correct state after the glitch: switching the keyboard language (globe key), or changing the text and then tapping anywhere in the text field. A text change that does not flip the hasText state, without a follow-up tap, does not repaint the key. The pattern suggests that the keyboard rebuild triggered by switching planes defaults the return key to enabled without consulting the text state, and that the keyboard otherwise repaints the key only when the hasText answer transitions, or on input-session changes (tapping into the field, switching keyboard language). Environment: all reproductions and verifications were done on physical devices, not simulators — reproduced on an iPhone SE (iOS 26.5.2) and an iPad Pro 12.9" 4th gen (iPadOS 26.4.2); not reproducible on an iPad 6th gen (iPadOS 17.7.10). Is this a known issue, and is there a supported way to force the keyboard to re-evaluate the return key state after a plane switch?
Replies
0
Boosts
1
Views
309
Activity
1w
Large memory consumption when running Core ML model on A13 GPU
We recently had to change our MLModel's architecture to include custom layers, which means the model can't run on the Neural Engine anymore. After the change, we observed a lot of crashes being reported on A13 devices. It turns out that the memory consumption when running the prediction with the new model on the GPU is much higher than before, when it was running on the Neural Engine. Before, the peak memory load was ~350 MB, now it spikes over 2 GB, leading to a crash most of the time. This only seems to happen on the A13. When forcing the model to only run on the CPU, the memory consumption is still high, but the same as running the old model on the CPU (~750 MB peak). All tested on iOS 16.1.2. We profiled the process in Instruments and found that there are a lot of memory buffers allocated by Core ML that are not freed after the prediction. The allocation stack trace for those buffers is the following: We ran the same model on a different device and found the same buffers in Instruments, but there they are only 4 KB in size. It seems, Core ML is somehow massively over-allocating memory when run on the A13 GPU. So far we limit the model to only run on CPU for those devices, but this is far from ideal. Is there any other model setting or workaround that we can use to avoid this issue?
Replies
3
Boosts
2
Views
2.3k
Activity
1w
iOS 26 Beta bug - keyboard toolbar with bottom safe area inset
Hello! I have experienced a weird bug in iOS 26 Beta (8) and previous beta versions. The safe area inset is not correctly aligned with the keyboard toolbar on real devices and simulators. When you focus a new textfield the bottom safe area is correctly placed aligned the keyboard toolbar. On real devices the safe area inset view is covered slightly by the keyboard toolbar, which is even worse than on the simulator. Here's a clip from a simulator: Here's the code that reproduced the bug I experienced in our app. #Preview { NavigationStack { ScrollView { TextField("", text: .constant("")) .padding() .background(Color.secondary) TextField("", text: .constant("")) .padding() .background(Color.green) } .padding() .safeAreaInset(edge: .bottom, content: { Color.red .frame(maxWidth: .infinity) .frame(height: 40) }) .toolbar { ToolbarItem(placement: .keyboard) { Button {} label: { Text("test") } } } } }
Replies
4
Boosts
12
Views
1.4k
Activity
1w
Multiple calls to same caller - Iphone
I'm not sure where the best place to post this. Previous to ios 26, if you called a phone number multiple times, it used to have the number of calls in brackets, but more importantly pressing i next to the call would give you the call times for each call. In ios 26, say you called the same number 4 times, now when you press i, it only gives you the call time of the last call. Can anyone on ios 27 beta confirm if this has now been fixed, or if not how it can be raised with the ios development team. Finally, i know you have an option called call history, however for some reason not all calls show, and facetime/ whatsapp calls are not showing at all. Thanks
Replies
0
Boosts
0
Views
220
Activity
1w
First-time App Store launch: Is this timeline and cost realistic for an individual developer account?
I'm building my first mobile app with a developer, and I'm trying to understand the full App Store publishing process before making a decision on how to move forward. Another developer I'm considering working with instead of my current developer told me the following: "If you do it yourselves, your developer will have to learn everything for the first time. Registering a business and getting the corporate key takes about a week, getting a D-U-N-S number can take up to a month, rebuilding a web app into a mobile UI is a skill in itself, Capacitor is a skill, push notifications can be very challenging, then there's App Store compliance, submission, possible rejection and resubmission. You'll also realistically need a Mac to publish to the App Store. Overall, expect 2–3 months and well over $2,000 before you might be on the App Store." My situation is: I'm a solo founder. The app already exists as a web app. We plan to wrap/build it into a native mobile app (likely using Capacitor or a similar approach). I'm happy to publish under an individual Apple Developer account for now if that simplifies things. I don't necessarily need an organization account at this stage. My biggest priority is speed. I'm not trying to build the perfect long-term company structure right now. I want to get my app into people's hands as quickly as possible so I can validate the product, learn from real users, and iterate. If there are trade-offs that let me launch faster without creating major technical debt or problems later, I'm very open to that. I'm hoping to understand from developers who have actually been through this process: Which parts of the statement above are accurate? Which parts only apply if you're publishing as an organization rather than an individual? Is 2–3 months a realistic estimate for someone who already has a working web app and an experienced developer? If your goal was simply to get an MVP into users' hands as quickly as possible, how would you approach it? Are there any hidden hurdles or costs that first-time founders commonly underestimate? Also for better context: this developer who made this comment to me said they're charging $1100 AUD to ONLY convert our web app into a mobile app. They also proposed a $450/month retainer after the migration for maintenance, tweaks, etc. I'd really appreciate hearing from anyone who's published apps to the App Store recently. Thanks!
Replies
3
Boosts
1
Views
606
Activity
1w
Xcode 26.5 can't run apps on visionOS 27 and iOS 27 Beta 2
With Xcode Version 26.5 (17F42) apps can no longer be launched on a real Vision Pro once migrated to visionOS 27 Beta 2. At launch there is an EXC_BAD_ACCESS runtime error in an initialiser. If you launch apps on a real iPhone/Ipad with OS 27 Beta 2 the program will stop before the end of its start, but there is no precise line with the error. Xcode just stop in assembly code in the debugger, in the init phase of Swift where it searches for which objects to instantiate at launch. After investigating, the error comes from a debug setting from Xcode to show the stack trace. To avoid the error when run from Xcode Version 26.5 (17F42) In Xcode, open Product > Scheme > Edit Scheme. Select the Run action in the sidebar, then open the Options tab. Find Queue Debugging and uncheck Enable backtrace recording. If Queue debugging is enabled, then the program crashes when launched It is useful to be able to run apps from the production Xcode to devices with 27 OSes in beta to be able to test that everything will work fine for new versions of apps released before OSes 27 release. Thank you A previous post was made but the cause was badly identified. New Feedback including a sample code FB23384318
Replies
7
Boosts
0
Views
598
Activity
1w
Repeated Guideline 4.3(a) rejection for an original Unity game — no actionable clarification after 3 months
Hello, We are a registered software company and have been unable to publish our iOS game for approximately three months because of repeated rejections under Guideline 4.3(a). The first rejection stated that our app shared a similar binary, metadata, and/or concept with apps previously submitted by a terminated Apple Developer Program account. Later rejections repeated similar general wording but did not identify the application, account, source-code component, asset, SDK, metadata element, or design considered similar. Our game is an original Unity project developed by our own team for more than two years. It was not purchased as a template, cloned, reskinned, or repackaged from another application. We possess the complete Unity project, client and server source code, Git development history, design source files, custom assets, backend infrastructure, and all related project files. Our core code, game systems, UX/UI design, and custom visual work were created by our team. Any limited third-party assets or SDKs used by the project were obtained from legitimate sources, and the relevant licenses and purchase records are available. The game also includes substantial custom functionality: • A server-authoritative real-time multiplayer architecture developed by our team • A 51-point opening rule that forms the core of every match • Custom scoring and penalty rules for plays made on other players’ opened tile groups • Matchmaking, table management, reconnect, timeout, and authoritative game-state recovery systems • Multiple game modes and competitive tables • Tournaments and leaderboards • Friends, private messaging, in-game chat, and direct table invitations • Player progression, daily rewards, missions, collectible profile icons, and virtual gifts We use only one Bundle ID and one App Store Connect record. We have not submitted duplicate versions of this application through multiple Bundle IDs or unrelated developer accounts
Replies
2
Boosts
0
Views
229
Activity
1w
Parallel swift testing on multiple ios simulators
Due to massive amount of shared state in my project I cannot really use swift testing parallelization in my tests, so my idea was to embed all suites into single one with .serialized and then run them on several simulators to speed up the tests. I ran tests with xcodebuild ... -parallel-testing-enabled YES -parallel-testing-worker-count 2, but swift testing suites seemed to be executed on just one simulator. Is it possible to run swift testing tests in parallel on multiple iOS simulators, but serially within each of them? Or the only way is xctest?
Replies
1
Boosts
0
Views
227
Activity
1w
iPhone accepts BLE HID keyboard base keys but strips Shift from composite mouse+keyboard device
I’m debugging a custom BLE HID device on iPhone. It is a composite HID mouse + keyboard dongle. Setup: Hardware: Seeed XIAO nRF52840 Firmware: Adafruit Bluefruit Arduino / BLEHidAdafruit BLE HID report map: stock Adafruit composite HID with keyboard, consumer, and mouse reports GAP/advertising appearance: HID_MOUSE iOS adopts the device as an AssistiveTouch pointer Mouse movement and clicks work correctly Keyboard symptom: Lowercase/unshifted characters type correctly. Shifted characters lose the Shift modifier during text input: - A -> a - T -> t - DoorDash -> doordash - ! -> 1 - @ -> 2 - # -> 3 - { -> [ - } -> ] Confirmed: The iOS app sends the exact intended string to the dongle. Firmware receives the exact string. Firmware computes and sends the expected HID modifier/keycode: A sends modifier 0x02 + HID_KEY_A ! sends modifier 0x02 + HID_KEY_1 A lone isolated "A" still lands as "a", so this does not appear to be a timing or repeated-key issue. Cmd+Space works from the same HID keyboard report path and opens Spotlight. Full Keyboard Access is off. Turning AssistiveTouch off does not fix it. The iPhone never shows "Hardware Keyboard" settings for this device, even when searching Settings. Question: Is there a documented distinction on iOS between accepting BLE HID keyboard reports for global shortcuts, such as Cmd+Space, and admitting the same device as a full Hardware Keyboard for text composition? In particular: Does the absence of Hardware Keyboard settings mean iOS has not classified the device as a real external keyboard? Can a composite BLE HID device advertised as HID_MOUSE be accepted for pointer input but have Shift ignored for text input? Does iOS require a different GAP appearance, HID report-map structure, report ordering, or separate keyboard identity for Shift/modifier text composition to work? Is there a recommended way to build a BLE HID device that preserves AssistiveTouch pointer behavior while also being treated as a full external keyboard?
Replies
4
Boosts
0
Views
777
Activity
1w
Wi-Fi and Bluetooth intermittently turn off on iOS 27 Beta 1
I am experiencing random Wi-Fi and Bluetooth disconnections while using iOS 27. Both Wi-Fi and Bluetooth disconnect unexpectedly, then reconnect automatically a few seconds later. I have seen many similar reports on Reddit, so this does not seem to be an isolated issue. I have already submitted a report through Feedback Assistant with the feedback ID FB23121586. I hope this issue can be fixed soon, because it is really stressful when playing online games on my iPhone and worrying that the connection might suddenly drop. :(
Replies
2
Boosts
1
Views
786
Activity
1w
SwiftUI template in Instruments 26.4.1 shows empty channels on iOS 26.4.2 device — even with a minimal TimelineView repro
Hi all, I've hit a reproducible issue where the presence of the SwiftUI instrument in a template prevents any data from being recorded, including from the other instruments in the same template. Removing the SwiftUI instrument immediately restores normal recording. Environment Host: macOS 26.4.1 (25E253), Mac mini Xcode / Instruments 26.4.1 (17E202) Device: iPhone 17, iOS 26.4.2 (23E261) (physical device, USB-attached) Symptom Recording the same app, same device, same session, only varying the template contents: SwiftUI template (as-is) => All lanes empty across the entire recording Same template with the SwiftUI instrument removed => Data collected normally (Time Profiler samples, Hangs, etc.) So it seems not an issue with the SwiftUI lanes specifically being empty — including the SwiftUI instrument appears to silence the entire recording. Steps to reproduce Open Instruments → pick the SwiftUI template (or build a custom template that includes the SwiftUI instrument alongside, e.g., Time Profiler). Target the device, attach to the running app. Record for ~10s, interact with the app. Stop. Result: every lane is empty. Edit the template, remove the SwiftUI instrument, re-record with no other changes. Result: normal data appears in the remaining instruments. Questions Is this a known regression in Instruments 26.4.1 on iOS 26.4.x? Is there a workaround to use the SwiftUI instrument on this OS combo (different Xcode build, runtime flag, entitlement)? Does it work for anyone on iOS 26.4.x + Xcode 26.4.1, or is everyone seeing this? I can file a Feedback if confirmed as a bug — wanted to check here first in case I'm missing a setup step. Thanks!
Replies
3
Boosts
2
Views
941
Activity
1w
register account
Hello everyone, I am experiencing a similar issue to the one reported by aarshps: "I hope someone has encountered this specific pattern and resolved it, or can point me in the right direction to escalate the issue." In my case, my iOS Apple Developer account (Case ID: 102929769930) has been pending for 40 days. I have met all of Apple's requirements, but support staff stated they could not verify my subscription or enrollment. The only potential detail on my end is that the payment was made using my son's credit card (Felipe Silva Ferraz), while the developer account was registered under my own name (Ademir Gomes Ferraz). I have sent multiple emails through the support portal, and my account still hasn't been approved. If anyone has faced this pattern or knows how to properly escalate it, please let me know.
Replies
0
Boosts
0
Views
290
Activity
1w
App Review eligibility and account requirement for local domain blocking using NEPacketTunnelProvider
I previously asked in the Network Extension forum about the supported architecture for local, user-controlled domain blocking on unmanaged consumer iPhones. Apple Developer Technical Support explained that using NEPacketTunnelProvider for a purpose other than a VPN is not a DTS-supported use case. DTS also noted that App Review has the final say regarding what may or may not be distributed through the App Store and directed me to App Review for clarification. URL Filters do not provide the intended device-wide domain visibility and user-controlled blocking. At the same time, the deployment restrictions described in TN3134 prevent the use of the relevant content-filtering provider types on unmanaged consumer iPhones. The proposed app is a consumer privacy and security app. It would use NEPacketTunnelProvider to identify destination domains locally and allow the user to block selected domains. The app would not provide a remote VPN service. Network traffic would not be routed to a remote VPN endpoint, and the app would not offer location changing, anonymous browsing, IP address masking, or access to a private network. My questions are: Would this use of NEPacketTunnelProvider be eligible for distribution on the App Store, even though DTS does not support this packet tunnel use case? Would App Review classify this as a VPN service, or could it be classified as a security or content-blocking app under App Store Review Guideline 5.4? If it is classified as a security or content-blocking app rather than a VPN service, may it be submitted by an individual Apple Developer Program member, or is enrollment as an organization required? I understand that a forum response cannot guarantee approval of a future submission. I am trying to clarify the likely classification and account requirement before proceeding with further development.
Replies
0
Boosts
0
Views
448
Activity
1w