During Apple Pay in-app provisioning (EV_ECC_v2), our iOS app successfully obtains the issuer provisioning certificates and generates cryptographic material. The flow fails when Apple posts the card blob to Apple’s broker (card creation step), returning HTTP 500 from .../broker/v4/devices/{SEID}/cards.
Steps:
Call issuerProvisioningCertificates?encryptionVersion=EV_ECC_v2
→ 200 OK; returns ECC leaf + Apple Root CA chain; nonce=2a831be4.
2. Build {encryptedCardData, activationData, ephemeralPublicKey}
3. POST /broker/v4/devices/{SEID}/cards
Expected: 200 OK on /broker/v4/devices/{SEID}/cards, or 5xx with a descriptive error if payload/cryptography is invalid.
Observed: 500 Internal Server Error from Apple broker on /cards (labeled “eligibility” in PassKit logs), causing a terminal failure in Wallet UI.
Posts under iOS tag
200 Posts
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
We are developing a video processing app that applies CIFilter chains to video frames. To not force the user to keep the app foregrounded, we were happy to see the introduction of BGContinuedProcessingTask to continue processing when backgrounded.
With iOS 26, I was excited to see the com.apple.developer.background-tasks.continued-processing.gpu entitlement, which should allow GPU access in the background. Even the article in the documentation provides "exporting video in a film-editing app" or "applying visual filters (HDR, etc) or compressing images for social media posts" as use cases. However, when I check BGTaskScheduler.shared.supportedResources.contains(.gpu) at runtime, it returns false on every iPhone I've tested (including iPhone 15 Pro and iPhone 16 Pro).
From forum responses I've seen, it sounds like background GPU access is currently limited to iPad only. If that's the case, I have a few questions:
Is this an intentional, permanent limitation — or is iPhone support planned for a future iOS release?
What is the recommended approach for GPU-dependent background work on iPhone? My custom CIKernels are written in Metal (as Apple recommends since CIKL is deprecated), but Metal CIKernels cannot fall back to CPU rendering. This creates a situation where Apple's own deprecation guidance (migrate to Metal) conflicts with background processing realities (no GPU on iPhone).
Should developers maintain deprecated CIKL kernel versions alongside Metal kernels purely as a CPU fallback for background execution? That feels like it defeats the purpose of the migration.
It seems like a gap in the platform: the API exists, the entitlement exists, but the hardware support isn't there for the most common device category. Any clarity on Apple's direction here would be very helpful.
What works
let backButton = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
backButton.hidesSharedBackground = true
self.navigationItem.rightBarButtonItem = backButton
// or
self.navigationItem.leftBarButtonItem = backButton
What doesn't work
let backButton = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
backButton.hidesSharedBackground = true
self.navigationItem.backBarButtonItem = backButton
I've tried setting this property on all possible permutations and combinations e.g. Inside navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) and pushViewController(_ viewController: UIViewController, animated: Bool) of a custom UINavigationController to make sure.
Expected vs Actual behavior
Setting hidesSharedBackground = true should remove the glass background from both regular bar button items and back bar button items but it has no effect on backBarButtonItem.
Additional context
I’m aware of the UIDesignRequiresCompatibility Info.plist key, but I’m looking for a programmatic solution if there is one. The goal is to remove the glass background from back buttons.
I hope this message finds you well.
I am writing to inquire about the status of my recent app submissions and updates. Currently, all my submitted apps and updates have been stuck in the "Waiting for Review" status for an unusually extended period of time (over a month).
Since this delay affects all my submissions, I am concerned that there might be an issue with my developer account, or perhaps my submissions are stuck due to a system glitch.
Could you please investigate this matter and let me know if there is any additional information, documentation, or action required from my side to help move the review process forward?
Thank you for your time, support, and understanding. I look forward to your response.
Best regards
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Tags:
Force Feedback
App Store
iOS
App Review
Hi,
After updating my iPhone from iOS 26 to iOS 26.3, I’ve been experiencing issues with the Voice Isolation feature. Whenever I enable Voice Isolation while using the microphone in apps, my voice becomes unclear. The people I’m speaking with say they can’t hear me clearly and have difficulty understanding what I’m saying.
I never had this problem before updating to iOS 26.
To try to fix the issue, I have:
Restarted my device
Updated from iOS 26 to iOS 26.3
Unfortunately, the problem still persists.
For comparison, I also have an iPad Air 3 running iPadOS 18.5, and Voice Isolation works perfectly fine on that device.
Please advise on how this issue can be resolved.
Thank you.
I created a form field using:
On Safari and Chrome desktop, it behaves as expected. Safari shows the current date in grey by default, and Chrome displays a format hint like dd.mm.yyyy, which is perfectly fine.
On iOS, however, the field appears completely blank. I understand that the placeholder attribute is not part of the iOS date input behavior, which is technically fine. Still, it would be helpful if developers had the option to define a default display value. In the past, browsers prefilled date inputs, but many developers objected because they needed the field to be empty by default.
I have searched extensively and tried several AI tools, and everywhere it says that this cannot be changed. Am I missing something, or is there any way to display a placeholder, the current date, or some kind of visual hint in iOS Safari?
Right now, the empty field creates poor UX because users may overlook it. Since the field is required, this can easily lead to validation errors and additional friction.
As a workaround, I used a CSS hack with input[type="date"]::before and a content attribute. I also added JavaScript to toggle a pseudo-placeholder value specifically for iOS.
Is there a cleaner solution that avoids this workaround?
Thanks in advance for your guidance.
When making an element with .glassEffect(.clear.interactive()) draggable, it stretches as it moves.
It seems like it's meant to stretch as you move your finger away from the element, but it doesn't make sense if the element is following your finger as you drag it.
Is this a bug, or is there a way to disable this behavior without removing the other "interactive" animations?
P.S. The shiny border around the elements seems to be a rounded rectangle or capsule, but the actual element's shape seems to be stretched. That also appears to be a bug.
I’ve encountered an aspect of the Liquid Glass effect in SwiftUI that seems a bit odd: the Liquid Glass interaction appears to ignore regular hit-testing behavior.
The following sample shows a button with hit testing disabled:
@main
struct LiquidGlassHitTestDemo: App {
var body: some Scene {
WindowGroup {
Button("Liquid") {
fatalError("Never called.")
}
.buttonStyle(.glassProminent)
.allowsHitTesting(false)
}
}
}
As expected, the button’s action is never called. However, the interactive glass effect still responds to touch events:
What’s even more surprising is that the UIKit equivalent behaves differently:
final class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let button = UIButton(
configuration: .prominentGlass(),
primaryAction: UIAction(
title: "Liquid",
handler: { action in
print("Never called.")
}
)
)
view.addSubview(button)
button.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
button.centerXAnchor.constraint(equalTo: view.centerXAnchor),
button.centerYAnchor.constraint(equalTo: view.centerYAnchor)
])
button.isUserInteractionEnabled = false
}
}
In this case, the effect is not interactive at all. Similarly, if a UIViewController’s root view overrides hitTest(_:with:) to always return nil, the Liquid Glass effect does not react to touch events whatsoever.
The only way I’ve found to “properly” disable the glass interactivity in SwiftUI is to use the .disabled(true) modifier. However, this also changes the button’s appearance, which is not always desirable.
Is this expected behavior, or could this be a bug? Am I missing something about how Liquid Glass interaction is implemented in SwiftUI?
We are facing an issue with App Store review and would appreciate some guidance.
Our application is designed strictly for iPhone devices only. The app includes a SIM binding mechanism that requires sending an SMS from the registered mobile number for device verification. This functionality depends on the physical SIM capabilities available only on iPhone devices.
However, during the review process, Apple is testing the app on an iPad device. Since iPads generally do not support sending SMS from a physical SIM (especially Wi-Fi models), the SIM binding process fails, which is resulting in app rejection.
We have:
Configured the app deployment target for iPhone only.
Set the device family to iPhone in Xcode.
Any guidance would be greatly appreciated.
I am trying to develop a Watch and iOS app as companion. It is beyond stupid how I can not keep the watch connected to Xcode to develop. I have tried all the so-called tricks.
Why is this so fragile?
The phone is USB connected to my Mac
I have tried turning off the wifi on my Mac and have the phone and watch on the same network. Nada
I have tried just having everything on the same network. The watch is connected maybe 20% of the time.
I have tried creating a hotspot network with my phone. The watch is connected maybe 50% of the time.
This is truly an awful experience. Am I doing something wrong?
Any advice would be grateful.
I have an app that records video (and also provides a custom remote interface) so it needs to remain awake and in the foreground.
It sets;
UIApplication.shared.isIdleTimerDisabled = true
I've also tried catching willEnterForegroundNotification to ensure it resets it if the app is backgrounded and resumes;
.onReceive(
NotificationCenter.default.publisher(
for: UIApplication.willEnterForegroundNotification)
) { _ in
UIApplication.shared.isIdleTimerDisabled = true
}
However, it seems that on some devices it will still go to sleep. This seems to be the case when Adaptive Power Mode is on (or rather, I've not managed to reproduce it when Adaptive Power Mode is off) even when battery percentage is well over 20% (I sort of expected Low Power Mode to trigger this)
Am I missing something obvious? there must be a way to make sure media capture apps stay awake (I'm surprised AVFoundation doesn't do it anyway!)
If it is related to Adaptive Power Mode, is there any way to detect that programatically to at least provide a warning to the user that having it on will affect operation of the app?
It has been approximately three weeks since we submitted our app for review via App Store Connect, but it remains "In Review" and the review process has not been completed.
For this reason, we also requested an expedited app review to the App Review Team last week.
Will the review proceed if we simply wait?
Is there any way to check the detailed status of this app review?
Hello,
I have created an app in Emergent that I am trying to set up on the app store, but I am lost. As you might expect, I am new at this. I know this app is a winner. It's all about productivity. I can't pay, but I am willing to share the rights to the app with the person that helps me get it going. I would also like to put in in Android, so if you can help there it would be even better.
Topic:
App Store Distribution & Marketing
SubTopic:
General
Tags:
Community Management
Developer Tools
App Store
iOS
Our app supports UIScene. As a result, launchOptions in application(_:didFinishLaunchingWithOptions:) is always nil.
However, the documentation mentions that UIApplication.LaunchOptionsKey.location should be present when the app is launched due to a location event.
Given that our app is scene-based:
How can we reliably determine whether the app was launched due to a location update, geofence, or significant location change?
Is there a recommended pattern or API to detect this scenario in a Scene-based app lifecycle?
This information is critical for us to correctly initialize location-related logic on launch.
Relevant documentation:
https://developer.apple.com/documentation/corelocation/cllocationmanager/startmonitoringsignificantlocationchanges()
Dear Apple Support Team,
Thank you for your continued support.
I would like to inquire about the behavior of CallKit.
Our company provides an office PBX extension phone application (iPhone app).
When the iPhone is placed into sleep mode (screen off) and our app receives an incoming call, the following sequence sometimes results in an audio playback panel
appearing at the bottom of the lock screen for a few seconds after the call ends(See attachment file for detail).
Sequence to reproduce the issue:
Put the iPhone into sleep mode (screen off).
Receive an incoming call to our extension phone app.
CallKit incoming call screen appears.
Answer the call.
Conduct the call.
End the call from the peer.
iOS versions with confirmed behavior:
iOS 26.0: Not observed.
iOS 26.2: Observed.
iOS 26.3: Not observed.
This behavior does not affect the call functionality itself; however, some users report that the temporary appearance of the audio playback panel feels unusual.
If there is any known reason for this behavior or any recommended workaround, we would greatly appreciate your guidance.
Additionally, if this is a known issue that was addressed in iOS 26.3, we would appreciate any information you can provide regarding that as well.
Thank you very much for your assistance.
Здравствуйте.
Подскажите пожалуйста, кто решил данную проблему?
Спасибо.
Parents often spend lots of time to search for kids' events and government programs. Even after they found ideal ones, they need lots of copy and paste to check Google Map in order to align with their time and location.
My app is designed to solve this pain point. It will handle those time consuming web search and time & location matching. For good user experience, the UI is simple, it recommends nearest kids programs that aligns with parents' time. It also has a Map to show suggestions visually and provides map navigation. Parents are all very busy, the UI has to be simple and easy to use. This app can save parents 60% of time to find kids' programs.
The v1.0.0 of this app got approved. It works well on Android phones all the time, but the map navigation didn't work on iOS. I later realized have to add LSApplicationQueriesSchemes to enable map navigation on iOS app. So I fixed this and tested the new build on iOS phones, the new build 1.0.1 works well. But Apple reviews rejects 1.0.1 because of "Minimum Functionality".
So now I'm in an awkward situation, 1) the app works well on Android 2) the approved iOS build can't open map navigation on iOS 3) the fixed iOS build got rejected because of "Minimum Functionality".... Really frustrating.
Even if I add new features to meet "Minimum Functionality", for parents, they need simple UI because of their busy schedules, adding new features may create more complex UX.
Is that possible to have Apple approve 1.0.1 build first, at least make sure the app works without error for iOS users first, this app can already save parents lots of time. Then give me more time to add new features?
Otherwise, what's the minimum I can add to get the new build approved first? Thank you!
I’m building a teleprompter-style app that relies on Picture in Picture.
PiP starts correctly on device.
Everything works — until another app (e.g. TikTok / Instagram) starts active video recording.
When camera capture begins in the foreground app, iOS terminates my PiP session.
Some teleprompter apps appear to keep PiP active while recording in other apps, so I’m trying to understand the recommended architectural pattern for this scenario.
Is there a documented approach or best practice to keep PiP stable during third-party camera capture?
Looking specifically for guidance on the correct AVKit / AVAudioSession configuration for this use case.
Hello,
In production, a large number of users experience outgoing call reporting fails with the following error:
com.apple.CallKit.error.requesttransaction Code=2
The iOS version doesn't matter, errors are present in v15-26
Details
My CXProvider held as a global singleton, so it’s unlikely to be deinited.
There is no explicit call to CXProvider.invalidate() in the app.
If I manually invalidate the CXProvider, I observe the expected failure when trying to create an outgoing call (com.apple.CallKit.error.requesttransaction error 2).
However, If I recreate the CXProvider after the error, outgoing calls are reported correctly.
Many users trigger the providerDidReset delegate method (CXProviderDelegate) before this error.
According to the documentation, providerDidReset can be called by the system, and we are supposed to end all active calls, but the documentation doesn't suggest recreating the CXProvider.
Question
Should I recreate CXProvider after providerDidReset and forget about that, or could this error be caused by something else?
When you use .navigationTransition(.zoom(sourceID: "placeholder", in: placehoder)) for navigation animation, going back using the swipe gesture is still very buggy on IOS26. I know it has been mentioned in other places like here: https://developer.apple.com/forums/thread/796805?answerId=856846022#856846022 but nothing seems to have been done to fix this issue.
Here is a video showing the bug comparing when the back button is used vs swipe to go back: https://imgur.com/a/JgEusRH
I wish there was a way to at least disable the swipe back gesture until this bug is fixed.