Hi everyone,
I’m seeing recurring internal AVFoundation camera logs on iOS 26.2 and I’m trying to understand whether this is expected behavior or a regression in the capture pipeline.
These logs appear shortly after starting an AVCaptureSession, while video frames are being delivered, and also when the camera is stopped or the capture session is torn down.
<<<< FigXPCUtilities >>>> signalled err=-17281 at <>:302
<<<< FigCaptureSourceRemote >>>> Fig assert: "err == 0 " at bail (FigCaptureSourceRemote.m:569) - (err=-17281)
Even in this clean, minimal setup, the same logs appear on iOS 26.2
The exact same logic did not produce these logs on iOS 18.x.
To rule out issues caused by my own code, GPT created a minimal SwiftUI example from scratch.
My primary interest is to perform real-time processing on the video frames delivered by the camera (via AVCaptureVideoDataOutput), for tasks such as analysis, computer vision, or custom frame handling, while simultaneously displaying the live preview.
Thanks in advance for any insight.
Example Code
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Created
Hi everyone,
I’ve completely removed my App Clip:
Deleted all Advanced App Clip Experiences
Removed the App Clip target from my build
Removed App Clip references from my apple-app-site-association file
Deleted the meta tag from my website:
However:
When scanning the QR code, the App Clip card still appears with:
"This App Clip is not currently available in your country or region."
This link still works for my App Clip, which is not what I expected:
https://appclip.apple.com/id?p=com.example.appclip
Does anyone know why the App Clip card is still showing and how to fully remove it?
Thanks!
Hi everyone,
I’ve removed my App Clip completely:
Deleted all Advanced App Clip Experiences
Removed the App Clip target from my build
Removed App Clip references from my apple-app-site-association file
Deleted the meta tag from my website:
But when I scan the QR code, the App Clip card still appears with:
"This App Clip is not currently available in your country or region."
Does anyone know why this is still showing and how to fully remove it? we need to show our website when this QRCode is scanned.
Thanks!
Hello,
I’m working on an authorization plugin which allows users to login and unlock their computer with various methods like a FIDO key. I need to add smart cards support to it. If I understand correctly, I need to construct a URLCredential object with the identity from the smart card and pass it to the completion handler of URLSessionDelegate.urlSession(_:didReceive:completionHandler:) method. I’ve read the documentation at Using Cryptographic Assets Stored on a Smart Card, TN3137: On Mac keychain APIs and implementations, and SecItem: Pitfalls and Best Practices and created a simple code that reads the identities from the keychain:
CFArrayRef identities = nil;
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)@{
(id)kSecClass: (id)kSecClassIdentity,
(id)kSecMatchLimit: (id)kSecMatchLimitAll,
(id)kSecReturnRef: @YES,
}, (CFTypeRef *)&identities);
if (status == errSecSuccess && identities) {
os_log(OS_LOG_DEFAULT, "Found identities: %{public}ld\n", CFArrayGetCount(identities));
} else {
os_log(OS_LOG_DEFAULT, "Error: %{public}ld\n", (long)status);
}
When I use this code in a simple demo app, it finds my Yubikey identities without problem. When I use it in my authorization plugin, it doesn’t find anything in system.login.console right and finds Yubikey in authenticate right only if I register my plugin as non-,privileged. I tried modifying the query in various ways, in particular by using SecKeychainCopyDomainSearchList with the domain kSecPreferencesDomainDynamic and adding it to the query as kSecMatchSearchList and trying other SecKeychain* methods, but ended up with nothing. I concluded that the identities from a smart card are being added to the data protection keychain rather than to a file based keychain and since I’m working in a privileged context, I won’t be able to get them. If this is indeed the case, could you please advise how to proceed? Thanks in advance.
randomly, the app does not work after small changes in Reality Composer. Small changes like scaling a object a tiny bit.
to fix the error, i have to change another element in reality composer and hope for the best. if this does not help, i change (transform) something else, or deactive/activate something to get the project working again. I can't see a pattern why the Reality Composer Project sometimes gets in a state where it does not compile anymore.
Topic:
Spatial Computing
SubTopic:
Reality Composer Pro
Hi!
I would like to experiment with the Accessory Setup Kit, but I am not sure how I can add the required entitlement to my Apple Developer account.
I added the following to the plist file:
NSAccessorySetupKitSupports
WiFi
NSAccessorySetupWiFiSSIDPrefix
test_
test
And the following to the entitlements file:
com.apple.developer.accessory-setup-kit
But I am unable to build as my provisioning profile doesn't include "com.apple.developer.accessory-setup-kit entitlement".
On the developer portal, I navigated to “Certificates, Identifiers & Profiles” > “Identifiers” > “”, but I don't see it under "Capabilities" or "App services", nor under requests.
How do I configure my profile so that I am able to make use of this kit?
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
SKStorefront.countryCode always returns "US" in TestFlight and sandbox,
even when sandbox Apple ID is set to a different country.
Is this expected behavior?
Is SKStorefront guaranteed to return the correct storefront
only for production App Store builds?
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
Tags:
StoreKit Test
StoreKit
In-App Purchase
TestFlight
Hello,
I’ve been experiencing a persistent issue in Xcode since version 26.0, and it is still present in 26.2. When using the split view to display two files side by side, the area in the top‑right corner of the window (the inspector / options panel) starts flickering continuously.
This happens regardless of whether I’m using the light or dark theme, and even with the Liquid Glass effect disabled in macOS settings. None of these changes have any impact on the issue.
I have already submitted a bug report through Xcode (Feedback Assistant), but the issue is still present as of today.
The flickering makes the interface difficult to use and visually very distracting.
I’ve attached a video to clearly show the issue. I will review the attachment at the time I publish this post.
Thanks in advance for any help or feedback.
Video 1
https://www.icloud.com/iclouddrive/077l-R7Ybvxz89NI-B7DliEuA#xcode_bug1
Video 2
https://www.icloud.com/iclouddrive/0f6bJp48ioGRdkYiA2U4sI-cg#xcode-bug2
Hi,
Is there any way to make AlarmKit alarms snooze when the user presses the hardware volume buttons? Currently, pressing a volume button while an AlarmKit alarm is ringing stops/dismisses the alarm.
Why this matters:
Many users instinctively press the volume buttons when an alarm starts (either to react quickly while half-asleep or because they’re used to the Clock app behavior). When this stops the alarm entirely, users unintentionally dismiss the alarm, which can lead to missed wake-ups and a poor user experience. In practice, this becomes a frequent source of confusion and frustration because the behavior differs from the system Clock app.
Topic:
App & System Services
SubTopic:
General
We've received logs and have spuriously reproduced the following behavior:
calls to setTunnelNetworkSettings completing with NETunnelProviderError where the code is networkSettingsInvalid, and the error domain string is empty.
After subsequent calls to setTunnelNetworkSettings, the tunnel is stopped via the userInitiated stop reason within around 1 second from the first failure.
This happens after a number of successful calls to setTunnelNetworkSettings have been made in the lifetime of a given packet tunnel process.
We can confirm that no user ever initiates the disconnection. We can confirm that the only significant changes between the different calls to setTunnelNetworkSettings are that the parameters contain different private IPs for the tunnel settings - the routes and DNS settings remain the same.
In our limited testing, it seems that we can replicate the behavior we're observing by removing the VPN profile while the tunnel is up. However, we are certain the same behavior happens under other circumstances without any user interaction. Is this what memory starvation looks like?
Or is this something else?
Our main concern is that the tunnel is killed and it is not brought back up even though our profile is set to be on-demand. It's difficult to give any promises about leaks to our users if the tunnel can be killed at any point and not be brought back.
The spurious disconnections are a security issue for our app, we'd like to know if there's anything we can do differently so that this does not happen.
We tried to get DTS, but given that we have no way to reproduce this issue with a minimal project. But we can reproduce the behavior (kill the tunnel by removing it's profile) from a minimal Xcode project, is that considered good enough for a reproduction?
Hi!
We have created an app that communicates with devices over BLE, and it is currently out in Testflight. It works as expected for almost everyone, but for some users we get a strange behaviour.
We start by scanning for devices with
scanForPeripherals(withServices:options:),
then connect, and finally initiate pairing by subscribing and writing to a pair of characteristics, which both require encryption.
The issue is that for these users, the following code:
func peripheral(
_ peripheral: CBPeripheral,
didDiscoverCharacteristicsFor service: CBService,
error: Error?
) {
guard error == nil else {
LogManager.shared.log(
"❌ Error discovering characteristics: \(error!)"
)
return
}
for characteristic in service.characteristics ?? [] {
if characteristic.uuid == controlPointUUID {
controlPointCharacteristic = characteristic
LogManager.shared.debugLog(
"Control Point characteristic found."
)
} else if characteristic.uuid == statusUUID {
statusCharacteristic = characteristic
LogManager.shared.debugLog("Notify characteristic found.")
}
}
if statusCharacteristic != nil {
LogManager.shared.debugLog("Call Set notify.")
peripheral.setNotifyValue(true, for: statusCharacteristic!)
}
}
func peripheral(
_ peripheral: CBPeripheral,
didUpdateNotificationStateFor characteristic: CBCharacteristic,
error: Error?
) {
if error != nil {
LogManager.shared.log(
"❌ Failed to subscribe to \(characteristic.uuid): \(error.debugDescription)"
)
produces this error:
> > [22:31:34.632] ❌ Failed to subscribe to F1D0FFF2-DEAA-ECEE-B42F-C9BA7ED623BB: Optional(Error Domain=CBATTErrorDomain Code=15 "Encryption is insufficient." UserInfo={NSLocalizedDescription=Encryption is insufficient.})
So in essence, we can't perform pairing and enable encryption, because we have insufficient encryption.
I know that the system caches some key material after pairing. When I do "Forget device" and then pair again, I don't need to put my device in pairing mode for the pairing pin to appear, which is not the case for devices that have not been paired before.
Given that I can't reproduce the problem locally, it's hard to debug using the console. What I've been trying to do is figure out how to reset Bluetooth, which should hopefully remove old keys and whatever else might be there.
The top hit when searching for 'clear corebluetooth cache macos' is on stackexchange, and writes:
Turn off Bluetooth
Delete com.apple.Bluetooth.plist from /Library/Preferences
Delete files named com.apple.Bluetooth.somehexuuidstuff.plist from ~/Library/Preferences/ByHost (note that this is the user preference folder, not the system one)
Turn on Bluetooth
The answer is from December 2013, so it's not surpising that things don't work out of the box, but anyways:
My ByHost folder does not contain any plist files with Bluetooth in them, and deleting the one in /Library/Preferences did not do anything, and judging from the content, it does not contain anything valuable.
I have tried "sudo grep -r 'Bluetooth' ." in both /Library/Preferences/ and ~/Library/Preferences/ and looked at the resulting hits, but I can't seem to find anything meaningful.
As a sidenote, does anyone know what is going on with Apple's entitlement service? We applied for an entitlement in August and have yet to receive a response.
Currently tested, if the file provider goes offline (referring to calling disconnect) and deletes a file, the system will automatically trigger the deleteItems event after reconnecting (note that only after calling reconnect again will the current deleteItems logic be reached). However, for offline deletion, I would like to pass it directly without operating on the cloud. Can mounting disks determine which operations were performed offline during reboot
Hello Apple Developer Community,
I'm encountering a persistent issue with my App Store Connect account where the bank account is stuck in "Processing" status, preventing me from fully activating the Paid Apps Agreement. This has been ongoing for several weeks, and despite following all recommended steps, including resubmitting tax forms, there's no progress, also contacting support who promise to reply in 48 hours but never do. This is urgent as I have 19,000 customers waiting for the app to launch, and the delay is causing significant business impact. I'm hoping someone here has experienced something similar and can offer advice, or perhaps Apple support can chime in to expedite.
Account Details:
Organization: Prosperity Bliss PTE Limited (Singapore-based PTE Ltd)
Address: 2 Venture Drive, #19-21 Vision Exchange, Singapore, WILAYAH PERSEKUTUAN 608526
Account ID: 93410065
Agreements: Free Apps and Paid Apps Agreements are listed as Active (effective Dec 17, 2025 – Apr 18, 2026), but Paid Apps seems blocked due to banking.
Bank Account: PROSPERITY BLISS (8256), Singapore, SGD currency, USD royalties.
Tax Forms (all submitted Dec 15, 2025):
U.S. Certificate of Foreign Status of Beneficial Owner: Active
U.S. Substitute Form W-8BEN-E: Active
Singapore Tax Questionnaire: Complete (resubmitted today, Dec 19, 2025, to try update the system)
Issue Description:
Initially, there was a yellow banner saying: "Your banking updates are processing, and you should see the changes in 24 hours. You won't be able to make any additional updates until then." This appeared weeks ago when I first added the bank details. Even after submitting all tax forms on Dec 15, the status remains "Processing," and the banner persists. I can't edit or add anything else in the Banking or Tax sections due to this lock.
Steps I've Tried:
Submitted all required tax forms on Dec 15, 2025 – they show as Active/Complete.
Resubmitted the Singapore Tax Questionnaire today (Dec 19) as a potential fix, but no change yet.
Logged out/in, cleared cache, tried different browsers/devices – no luck.
Contacted Apple Developer Support via the web form (under Agreements, Tax, and Banking) multiple times over the past week – submitted tickets with screenshots and details, but no responses so far.
Attempted phone support using regional numbers (+65 numbers for Singapore/Asia-Pacific), but got routed to general customer support instead of developer-specific.
Requested a callback through developer.apple.com/contact/ – still waiting.
From what I've read online (e.g., similar issues on Reddit and Apple Discussions), this seems like a common backend glitch, especially for non-US accounts, where the system gets into a loop (banking waiting on tax, but tax is done and locked by banking processing). Official docs say it should resolve in 24 hours, but it's been far longer.
Has anyone else with a Singapore or international business account faced this and resolved it? Did you have to escalate to a specific team, or is there another workaround? Any tips on getting a faster response from support?
I've attached screenshots of the Agreements page, Bank Accounts section (showing "Processing"), and Tax Forms for reference.
Thanks in advance for any help – this is holding up my app distribution!
Best,
Frederik
Dear Apple,
while implementing Declared Age Range API in my app, I've noticed a mistake in documentation: the isEligibleForAgeFeatures property is marked 26.0+ in documentation, but 26.2+ in Xcode, which ultimately leads to inability to use it with OS below 26.2.
Moreover, I'm thoroughly confused by this quote from documentation:
This flag returns true on iOS and iPadOS based on a person’s eligibility and always returns false on macOS.
It leads me to two questions:
Is it possible to use Declared Age Range API for macOS apps? Will it be possible to use it in future?
Will there be any changes regarding this matter in a meantime (especially after Jan 1st)?
If yes - when should we expect these changes?
If no - why this API declares macOS 26+ support alongside iOS/iPadOS, if it simply doesn't work for macOS now?
As of now, my iOS app works flawlessly with given API (on iOS 26.2) while macOS app returns isEligibleForAgeFeatures = false and requestAgeRange request always throws AgeRangeService.Error.notAvailable.
Also, does it mean that one should not use isEligibleForAgeFeatures boolean while implementing Declared Age Range API for apps below iOS 26.2 (I mean 26.0+)? Or implementing given API for iOS 26.2+ is a sufficient way to go? So shouldn't the whole API be marked as 26.2+?
The minimum iOS version in my app is 16.0 and minimum macOS version is 13.0 anyway, so the significant part of users is left out of these updates, but the main goal here is legal compliance.
The crash is specific to iOS 26.2 WKScriptMessageHandler delegate func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage)
Name attribute is accessible but WKScriptMessage body attribute causes crash
The object seems to be not accessible
I am developing an iOS camera app that can record video directly to external storage connected to an iPhone.
To detect whether an external USB storage device is connected and to obtain its URL, I am considering using AVExternalStorageDeviceDiscoverySession.
However, when checking support using AVExternalStorageDeviceDiscoverySession.isSupported, I observe that it returns true only on Pro model iPhones, and false on non-Pro models in my environment.
I have reviewed Apple’s official documentation, but I could not find any clear description of the supported devices or requirements (for example, whether this API is limited to Pro models or requires specific hardware capabilities).
I would appreciate any information regarding the following points:
①The actual requirements for AVExternalStorageDeviceDiscoverySession to be supported
Device limitations (Pro vs non-Pro models)
Hardware requirements (USB controller, external recording capability, etc.)
iOS version dependencies
②Whether support for non-Pro models is planned in the future
Tested environments
iPhone 16 Pro (iOS 18.7.1) → isSupported == true
iPhone 16e (iOS 26.2) → isSupported == false
iPhone 17 (iOS 26.2) → isSupported == false
iPhone Air (iOS 26.2) → isSupported == false
If anyone has observed similar behavior or has official information from Apple regarding this API, I would greatly appreciate your insights.
I have a simple website, that I would like to make available as a progressive webapp, so I can somewhat customize what happens when people add the website to their homescreen (using the Share button) and maybe, in the future, use PWABuilder or something similar to publish it in some stores.
My website needs authentication using OIDC, which after some redirects within the PWA opens an authenticator app on the phone.
When the app returns from authenticating however, it opens a new browser tab instead of my PWA, so there is no context and the login fails.
I am under the impression that this used to work, but I'm not sure. I'm also not sure what the problem is, I have no idea how, when the Authenticator app opens a URL (which is what I assume is happening under the hood), iOS or Safari or whatever would know which app to open (as the redirect URL is to the OIDC Idp, not the URL of my Web app).
Any hints where I could look for a solution? Thanks!
Topic:
Safari & Web
SubTopic:
General
Hello,
We are experiencing a behavior change with WKWebView related to upgradeKnownHostsToHTTPS.
Current application, we explicitly disable automatic HTTPS upgrades:
let config = WKWebViewConfiguration()
config.upgradeKnownHostsToHTTPS = false
Observed behavior
iOS 17.5 (built with Xcode 15.3)
http:// image URLs are not automatically upgraded to https://, and the behavior works as expected.
iOS 18.5 / 18.6.x (built with Xcode 16.4)
http:// image URLs appear to be automatically upgraded to https:// by WebKit, even when upgradeKnownHostsToHTTPS is explicitly set to false.
This behavior occurs for subresource requests such as <img src="http://..."> inside a WKWebView.
Question
Has the behavior of upgradeKnownHostsToHTTPS changed in iOS 18 / Xcode 16?
Is this property now ignored for certain types of subresource requests (e.g. images), or overridden by new WebKit security policies such as mixed-content HTTPS upgrades?
Any clarification or official guidance would be greatly appreciated!.
I am developing an iOS camera app that can record video directly to external storage connected to an iPhone.
To detect whether an external USB storage device is connected and to obtain its URL, I am considering using AVExternalStorageDeviceDiscoverySession.
However, when checking support using AVExternalStorageDeviceDiscoverySession.isSupported, I observe that it returns true only on Pro model iPhones, and false on non-Pro models in my environment.
I have reviewed Apple’s official documentation, but I could not find any clear description of the supported devices or requirements (for example, whether this API is limited to Pro models or requires specific hardware capabilities).
I would appreciate any information regarding the following points:
●The actual requirements for AVExternalStorageDeviceDiscoverySession to be supported
Device limitations (Pro vs non-Pro models)
Hardware requirements (USB controller, external recording capability, etc.)
iOS version dependencies
●Whether support for non-Pro models is planned in the future
Tested environments
iPhone 16 Pro (iOS 18.7.1) → isSupported == true
iPhone 16e (iOS 26.2) → isSupported == false
iPhone 17 (iOS 26.2) → isSupported == false
iPhone Air (iOS 26.2) → isSupported == false
If anyone has observed similar behavior or has official information from Apple regarding this API, I would greatly appreciate your insights.
Apple made them both, and for some reason they are acting like each is speaking a foreign language. Once you plug the iPad in, shouldn't the "trust this computer" kick in and allow the iMac to turn on developer mode? I'm the dumbest person in the world when it comes to Code, but this is a no brainer! And the fact that the iPad is in Developer mode, is the most frustrating part. This needs a fix.
Topic:
Developer Tools & Services
SubTopic:
Xcode