Hi,
I’m implementing ePassport reading in an iOS app using a third-party KYC identity verification SDK (the SDK handles the NFC logic internally).
Before adding any specific AID, the NFC session would start normally and iOS showed the system popup asking the user to hold the passport near the device. However, the passport was never read , the session just stayed there with no progress or data returned.
I then tried enabling the ICAO ePassport AID:
A0000002471001
After adding this, the build failed with the following signing error:
Provisioning profile "iOS Team Provisioning Profile: com.sandrotbilisi.DigitalCurrency" doesn't include the com.apple.developer.nfc.readersession.iso7816.select-identifiers entitlement.
Has anyone encountered this behavior when working with ePassports?
Do I need special entitlement approval from Apple for this AID?
Thank you.
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Environment:
Xcode 26.3 RC
macOS 26.3 (25D125) (Apple Silicon / arm64)
Setup:
Xcode > Settings > Intelligence > Claude Agent: Signed In (account status shows "Signed In")
Model: Default
Steps to reproduce:
Open a new chat in Xcode's Coding Assistant
Select "Claude Agent" from the agent dropdown (instead of "Claude Sonnet 4.5")
Send any message (e.g. "HI")
Expected result:
Claude Agent responds normally.
Actual result:
The message is sent but immediately returns the error:
"Your request couldn't be completed."
🚩I have an active Claude Code subscription with remaining usage. Running claude in Terminal works perfectly, confirming the subscription and quota are valid.
I keep getting a fails to open page message when I try to sign in using my Claude ai Pro account. The request was for an http url instead of an https url.
Topic:
Developer Tools & Services
SubTopic:
Xcode
In my CarPlaySceneDelegate.swift, I have two tabs:
The first tab uses a CPListImageRowItem with a CPListImageRowItemRowElement. The scroll direction is inverted, and the side button does not function correctly.
The second tab uses multiple CPListItem objects. There are no issues: scrolling works in the correct direction, and the side button behaves as expected.
Steps To Reproduce
Launch the app.
Connect to CarPlay.
In the first tab, scroll up and down, then use the side button to navigate.
In the second tab, scroll up and down, then use the side button to navigate.
As observed, the scrolling behavior is different between the two tabs.
Code Example:
import CarPlay
import UIKit
class CarPlaySceneDelegate: UIResponder, CPTemplateApplicationSceneDelegate {
var interfaceController: CPInterfaceController?
func templateApplicationScene(
_ templateApplicationScene: CPTemplateApplicationScene,
didConnect interfaceController: CPInterfaceController
) {
self.interfaceController = interfaceController
downloadImageAndSetupTemplates()
}
func templateApplicationScene(
_ templateApplicationScene: CPTemplateApplicationScene,
didDisconnectInterfaceController interfaceController: CPInterfaceController
) {
self.interfaceController = nil
}
private func downloadImageAndSetupTemplates() {
let urlString = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRcYUjd1FYkF04-8Vb7PKI1mGoF2quLPHKjvnR7V4ReZR8UjW-0NJ_kC7q13eISZGoTCLHaDPVbOthhH9QNq-YA0uuSUjfAoB3PPs1aXQ&s=10"
guard let url = URL(string: urlString) else {
setupTemplates(with: UIImage(systemName: "photo")!)
return
}
URLSession.shared.dataTask(with: url) { [weak self] data, _, _ in
let image: UIImage
if let data = data, let downloaded = UIImage(data: data) {
image = downloaded
} else {
image = UIImage(systemName: "photo")!
}
DispatchQueue.main.async {
self?.setupTemplates(with: image)
}
}.resume()
}
private func setupTemplates(with image: UIImage) {
// Tab 1 : un seul CPListImageRowItem avec 12 CPListImageRowItemRowElement
let elements: [CPListImageRowItemRowElement] = (1...12).map { index in
CPListImageRowItemRowElement(image: image, title: "test \(index)", subtitle: nil)
}
let rowItem = CPListImageRowItem(text: "Images", elements: elements, allowsMultipleLines: true)
rowItem.listImageRowHandler = { item, elementIndex, completion in
print("tapped element \(elementIndex)")
completion()
}
let tab1Section = CPListSection(items: [rowItem])
let tab1Template = CPListTemplate(title: "CPListImageRowItemRowElement", sections: [tab1Section])
// Tab 2 : 12 CPListItem simples
let tab2Items: [CPListItem] = (1...12).map { index in
let item = CPListItem(text: "Item \(index)", detailText: "Detail \(index)")
item.handler = { _, completion in
print("handler Tab 2")
completion()
}
return item
}
let tab2Section = CPListSection(items: tab2Items)
let tab2Template = CPListTemplate(title: "CPListItem", sections: [tab2Section])
// CPTabBarTemplate avec les deux tabs
let tabBar = CPTabBarTemplate(templates: [tab1Template, tab2Template])
interfaceController?.setRootTemplate(tabBar, animated: true)
}
}
Here is a quick video:
Hi,
Is there a resource or sample code about how to draw an outline around a mesh in RealityKit?
Typically, this is useful for visualizing a selection, like in Reality Composer Pro.
How to achieve such effect? A shader material? A post-process effect in ARView or RealityRenderer?
Methods such as duplicating the entity mesh, scaling it, and using material.faceCulling = .front did not look good in my experiments.
Thank you.
Hello everyone,
I’m facing an unusually long app review delay and would appreciate any insight from the community.
My app has been stuck in the "Waiting for Review" status since February 10, 2026, with no updates or feedback.
App details:
App ID: 6756574744
Case Number: 102824473424
During this time, I have:
Submitted several support requests
Filed multiple expedited review requests
Tried contacting through email and the support section
Attempted to follow up on the case status
Despite all of these efforts, I have not received any response, acknowledgment, or update regarding its review progress.
I understand that review times can vary, and delays sometimes happen. What concerns me more is the complete lack of communication. At this point, it feels like the app might be stuck in the queue.
Has anyone else experienced long "Waiting for Review" times recently? Is there anything else I can do to get clarification or make sure the submission is not blocked for some reason?
Thanks in advance for any insight!
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Tags:
App Store
App Review
Mac App Store
App Submission
I'm trying to understand the terminology around forward vs backward references in CloudKit.
Say I have two record types:
User
LeaderboardScore (a score belongs to a user)
The score record stores a user reference:
score["user"] = CKRecord.Reference(
recordID: userRecordID,
action: .deleteSelf
)
So:
LeaderboardScore → User
The user record does not store any references to scores
From a data-model perspective:
Is this considered a forward reference (child → parent)?
Or a back reference, since the score is "pointing back" to its owner?
My use case is having leaderboard in my app and so i have created a user table to store all the users and a score table for saving the scores of each user of the app.
On february 9, I tried to enroll to the developer program, I got charged and received and order number, the next day when I tried to see the status of the enrollment, the order number provided on the email confirming the order was not working, I've tried to get support through email, nothing happens; I've called about 20 times to Apple Support, nothing happens, they said they doesn't have direct communication to the Apple Developer department, I have two weeks plus trying to have an answer on email, and nothing happens, but you know what happened? They completed the charge on my CC.
When I submit the app to TestFlight beta review I get the error show on UI. (I filled all filed info in Beta Infomation)
There was an error processing your request. Please try again later
I was inspected Safari to see the detailed error and I got the below error.
Failed to load resource: the server responded with a status of 422 ()
and the detailed javascript error
componentStack: undefined
errorCode: undefined
message: "API Response Error: TF_BETA_APP_REVIEW_RESPONSE"
stackTrace: "status code: 422 --- api correlation key: NZEKCTWMNANXDZVTRD3V4GNE3U"
Anyone can tell me the problem and how to fix it.
Many Thanks.
Hello,
I am writing to ask for assistance regarding two of my apps that have been stuck in “Waiting for Review” for an extended period.
At the moment:
App ID 6497716649 — Waiting for Review since Feb, 19 at 11:45 AM
App ID 6743224713 — Waiting for Review since Feb, 15 at 10:26 PM
There are no warnings, Resolution Center messages, or visible issues in App Store Connect.
All Agreements, Tax, and Banking information are active and up to date.
The builds were uploaded successfully, and no further action appears to be required on my side.
Could you please help confirm:
Whether there is any hidden blocker or account-related issue?
Or if this delay is currently due to review queue processing times?
If additional details are needed (bundle IDs, app category, sign-in requirements, encryption/export compliance, etc.), I will be happy to provide them immediately.
Thank you very much for your time and support.
Best regards,
We've been stuck without an approval of our app since Feb 3. and we are desperate for any help. We need our build approved.
The history:
Submitted build on 2/3
Sat in 'Waiting for Review' for 6 day
Cancelled and resubmitted on 2/9
Sat in 'Waiting for Review' for 15 day (called multiple times and was told that there wasn't anything they could do)
Cancelled and resubmitted on 2/25
App rejected about 6 hours later with a note that said basically "You have this small issue on iPad. You can fix it in your next build just let us know.'
We responded immediately that we would fx it in our build and to please approve the build.
No response since we responded more than 3 days ago
We are absolutely desperate to get this build approved. It has been nearly a month and this is destroying our company.
It is impossible to understate how hard this been for us. Does anyone know any way of trying to resolve?
We are facing an issue where our App Clip card appears when scanning the QR code, but displays “App Clip Unavailable” even though the main app is already live on the App Store.
App Details
• App Name: ExpRE – Experiencing Reality
• Main App Bundle ID: com.livingmedia.adplayer
• App Clip Bundle ID: com.livingmedia.adplayer.Clip
• Apple ID: 6758887250
• Team ID: 9NU8HZB68A
Current Status:
• Main app status: Ready for Distribution (visible on App Store)
• App Clip Advanced Experience status: Received
• App Clip Experience URL: https://aaj-tak-test-app.web.app
Issue Description
When scanning the QR code linked to the App Clip
Experience:
• The App Clip card with image appears
• But the card shows the message:
“App Clip Unavailable”
Additional Observations
• The default App Clip link opens correctly:
https://appclip.apple.com/id?p=com.livingmedia.adplayer.Clip
• Advanced App Clip Experience status still shows “Received”.
• Also if there is testflight build then clip card work.
But fresh install with QR with link show App clip Unavailable in card.
Question
Is there an additional propagation or approval step required after the status becomes Received for Advanced App Clip Experiences?
How long does it typically take for the App Clip to become publicly available after the main app is released?
In iphone developer I checked with Diagnostics in App clip testing.
Hi!
My users have reported (and I have observed) a blank Live Activity where only a black capsule is shown in the dynamic island. When tapping that capsule, the app opens, but inside the capsule, nothing is shown. The Live Activity is created through the AlarmKit API like this:
let identifier = UUID()
Task {
do {
_ = try await AlarmManager.shared.schedule(
id: identifier,
configuration: .init(
countdownDuration: countdownDuration,
attributes: attributes,
stopIntent: CancelTimerIntent(),
secondaryIntent: RestartTimerIntent(),
sound: Settings.shared.systemAlarmToneEnabled ? .default : .named(Settings.shared.alarmTone[.loop].filename)
)
)
Log.debug("Alarm scheduled successfully: \(identifier.uuidString)")
} catch {
Log.error("Error scheduling alarm with id \(identifier.uuidString), error: \(error)")
}
}
I've read some other forum posts where developers reported the same issue:
https://developer.apple.com/forums/thread/807335
https://developer.apple.com/forums/thread/812006
I assume, it has something to do with state management. However, in my case, this only happens very rarely. I use the app on a daily basis and the issue with the blank live activity only occurs like once a month, so I cannot reproduce it.
I also have some logic to resume an existing alarm or snooze:
do {
for alarm in try AlarmManager.shared.alarms {
switch alarm.state {
case .paused:
try AlarmManager.shared.resume(id: alarm.id)
case .alerting:
try AlarmManager.shared.countdown(id: alarm.id)
default:
break
}
}
} catch {
Log.error("Error resuming alarm: \(error)")
}
Is there any way I can debug this issue properly?
I have checked the Device Logs and the Console in Xcode and didn't find any hints. Only one log made me a little suspicious, but I read that this might happen occasionally and may be ignored:
Couldn't read values in CFPrefsPlistSource<0x10ae0d080> (Domain: group.myappgroupidentifier User: kCFPreferencesAnyUser, ByHost: Yes, Container: (null), Contents Need Refresh: Yes): Using kCFPreferencesAnyUser with a container is only allowed for System Containers, detaching from cfprefsd
Any ideas on how I could proceed to find the cause of this empty (apparently crashed) Live Activity?
Topic:
App & System Services
SubTopic:
Widgets & Live Activities
I’m trying to integrate Apple’s Translation framework in a Swift 6 project with Approachable Concurrency enabled.
I’m following the code here: https://developer.apple.com/documentation/translation/translating-text-within-your-app#Offer-a-custom-translation
And, specifically, inside the following code
.translationTask(configuration) { session in
do {
// Use the session the task provides to translate the text.
let response = try await session.translate(sourceText)
// Update the view with the translated result.
targetText = response.targetText
} catch {
// Handle any errors.
}
}
On the try await session.translate(…) line, the compiler complains that “Sending ‘session’ risks causing data races”.
Extended error message:
Sending main actor-isolated 'session' to @concurrent instance method 'translate' risks causing data races between @concurrent and main actor-isolated uses
I’ve downloaded Apple’s sample code (at the top of linked webpage), it compiles fine as-is on Xcode 26.4, but fails with the same error as soon as I switch the Swift Language Mode to Swift 6 in the project.
How can I fix this?
I configured my app to show a Live Activity when an alarm rings using AlarmKit. However, if I dismiss the Live Activity by tapping somewhere other than the X button, and then long-press the Dynamic Island, a new Live Activity appears that is long but contains no information.
Currently, the only way I can remove this empty Live Activity is to press the X button while the alarm is in the snooze state. Pressing the X button on the initial alarm does not remove it.
Is there any way to prevent this behavior or properly handle / clean up this empty Live Activity?
I have a driver extending IOUserUSBSerial and I want the device to show up as /dev/tty.mycustombasename-123 and /dev/cu. respectively. How can I achieve that?
I’m encountering a strange, sporadic error in FileManager.replaceItemAt(_:withItemAt:) when trying to update files that happen to be stored in cloud containers such as iCloud Drive or Dropbox. Here’s my setup:
I have an NSDocument-based app which uses a zip file format (although the error can be reproduced using any kind of file).
In my NSDocument.writeToURL: implementation, I do the following:
Create a temp folder using FileManager.url(for: .itemReplacementDirectory, in: .userDomainMask, appropriateFor: fileURL, create: true).
Copy the original zip file into the temp directory.
Update the zip file in the temp directory.
Move the updated zip file into place by moving it from the temp directory to the original location using FileManager.replaceItemAt(_:withItemAt:).
This all works perfectly - most of the time. However, very occasionally I receive a save error caused by replaceItemAt(_withItemAt:) failing. Saving can work fine for hundreds of times, but then, once in a while, I’ll receive an “operation not permitted” error in replaceItemAt.
I have narrowed the issue down and found that it only occurs when the original file is in a cloud container - when FileManager.isUbiquitousItem(at:) returns true for the original fileURL I am trying to replace. (e.g. Because the user has placed the file in iCloud Drive.) Although strangely, the permissions issue seems to be with the temp file rather than with the original (if I try copying or deleting the temp file after this error occurs, I’m not allowed; I am allowed to delete the original though - not that I’d want to of course).
Here’s an example of the error thrown by replaceItemAt:
Error Domain=NSCocoaErrorDomain Code=513 "You don’t have permission to save the file “test-file.txt” in the folder “Dropbox”." UserInfo={NSFileBackupItemLeftBehindLocationKey=file:///var/folders/mt/0snrr8fx7270rm0b14ll5k500000gn/T/TemporaryItems/NSIRD_TempFolderBug_y3UvzP/test-file.txt, NSFileOriginalItemLocationKey=file:///var/folders/mt/0snrr8fx7270rm0b14ll5k500000gn/T/TemporaryItems/NSIRD_TempFolderBug_y3UvzP/test-file.txt, NSURL=file:///Users/username/Library/CloudStorage/Dropbox/test-file.txt, NSFileNewItemLocationKey=file:///Users/username/Library/CloudStorage/Dropbox/test-file.txt, NSUnderlyingError=0xb1e22ff90 {Error Domain=NSCocoaErrorDomain Code=513 "You don’t have permission to save the file “test-file.txt” in the folder “NSIRD_TempFolderBug_y3UvzP”." UserInfo={NSURL=file:///var/folders/mt/0snrr8fx7270rm0b14ll5k500000gn/T/TemporaryItems/NSIRD_TempFolderBug_y3UvzP/test-file.txt, NSFilePath=/var/folders/mt/0snrr8fx7270rm0b14ll5k500000gn/T/TemporaryItems/NSIRD_TempFolderBug_y3UvzP/test-file.txt, NSUnderlyingError=0xb1e22ffc0 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}}}
And here’s some very simple sample code that reproduces the issue in a test app:
// Ask user to choose this via a save panel.
var savingURL: URL? {
didSet {
setUpSpamSave()
}
}
var spamSaveTimer: Timer?
// Set up a timer to save the file every 0.2 seconds so that we can see the sporadic save problem quickly.
func setUpSpamSave() {
spamSaveTimer?.invalidate()
let timer = Timer(fire: Date(), interval: 0.2, repeats: true) { [weak self] _ in
self?.spamSave()
}
spamSaveTimer = timer
RunLoop.main.add(timer, forMode: .default)
}
func spamSave() {
guard let savingURL else { return }
let fileManager = FileManager.default
// Create a new file in a temp folder.
guard let replacementDirURL = try? fileManager.url(for: .itemReplacementDirectory, in: .userDomainMask, appropriateFor: savingURL, create: true) else {
return
}
let tempURL = replacementDirURL.appendingPathComponent(savingURL.lastPathComponent)
guard (try? "Dummy text".write(to: tempURL, atomically: false, encoding: .utf8)) != nil else {
return
}
do {
// Use replaceItemAt to safely move the new file into place.
_ = try fileManager.replaceItemAt(savingURL, withItemAt: tempURL)
print("save succeeded!")
try? fileManager.removeItem(at: replacementDirURL) // Clean up.
} catch {
print("save failed with error: \(error)")
// Note: if we try to remove replaceDirURL here or do anything with tempURL we will be refused permission.
NSAlert(error: error).runModal()
}
}
If you run this code and set savingURL to a location in a non-cloud container such as your ~/Documents directory, it will run forever, resaving the file over and over again without any problems.
But if you run the code and set savingURL to a location in a cloud container, such as in an iCloud Drive folder, it will work fine for a while, but after a few minutes - after maybe 100 saves, maybe 500 - it will throw a permissions error in replaceItemAt.
(Note that my real app has all the save code wrapped in file coordination via NSDocument methods, so I don’t believe file coordination to be the problem.)
What am I doing wrong here? How do I avoid this error? Thanks in advance for any suggestions.
I have a live activity, that works fine when the Lock Screen showing, but as soon as it "sleeps" dims down for always on display, everything in the widget disappears and an Activity Indicator(spinner), displays in its place, but non-animating.
I am testing my app in iOS 26.4 beta and emojis are rendering as squares with ? in the middle . I tested a very simple Text("👾") and I get the same results. It is working fine in 26.3.
Topic:
App & System Services
SubTopic:
General
Hello,
My app update has been pending review for exactly 25 days and is still stuck in the “Waiting for Review” state in App Store Connect.
This update includes a critical fix for a blocking bug affecting iOS users, and the current live version is impacted.
Could someone please check whether the submission is stuck on your side, and advise on the best next steps to get it moving?
App: https://apps.apple.com/us/app/toilet-8/id6755677576