Hi everyone,
We’re running into a serious issue with App Clip Experience updates not propagating to devices, and I’m hoping someone here has encountered (or solved) this before.
Problem
Once an App Clip Experience is created and used on devices, subsequent updates made in App Store Connect do not reflect on any devices, even after a long period of time.
We’ve tried:
• Updating the App Clip Experience URL (adding utm parameters, for example, utm_source and scanning via QR code)
• Modifying Experience metadata/content
• Waiting several days (over a week)
• Testing on multiple devices (including devices that never opened the App Clip before)
Despite this, the App Clip continues to show the initially created content, while App Store Connect clearly shows the updated configuration.
Important Details
• We currently have ~1,300 App Clip Experiences created
• All App Clips use the same App Clip Bundle ID
• The content behind the URLs updates correctly on the website
• Only the App Clip continues to show stale / initial data
• Removing and re-invoking the App Clip on devices does not consistently fix the issue
At this point, manual updates via App Store Connect appear to be completely ignored once the App Clip is “established.”
Questions
1. Is there a known hard cache or CDN behavior on Apple’s side that prevents App Clip Experience updates from propagating?
2. Is there any way to invalidate or refresh an existing App Clip Experience?
3. Does having a large number of App Clip Experiences (~1300) affect update behavior or caching?
4. Is the recommended approach to treat App Clip Experience as immutable and handle all updates via backend / dynamic content only?
Right now it feels like:
App Clip Experience is effectively a one-time snapshot and not a live-updatable configuration.
Any insights, confirmations, or official guidance would be greatly appreciated.
Thanks in advance.
General
RSS for tagDelve into the world of built-in app and system services available to developers. Discuss leveraging these services to enhance your app's functionality and user experience.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I changed the AppIcon in Images.xcassets,and distribute a new version on appstore;The icon have changed on the desktop, but elsewhere, such as when switching between apps, the top left corner shows the old version of the icon.When I restart my phone,the top left corner show the new version of the icon;My phone is iPhone 13 Pro Max,iOS 18.4.1;Is there other ways to resolve the problem without restart the phone?
Topic:
App & System Services
SubTopic:
General
Hello,
We are encountering an issue where invoking our App Clip via a Safari Smart App Banner fails on certain devices, particularly those running iOS 26.
When a user taps "Open" on the Smart App Banner, the App Clip card attempts to load but ultimately fails with ASDErrorDomain Error 507.
The error occurs consistently on specific devices, while other devices function correctly. In some instances, the App Clip card metadata/UI appears momentarily (flashes on the screen) before the error message is displayed and the process terminates.
Has anyone else experienced this specific ASDErrorDomain error? We have already submitted a report via Feedback Assistant, but any insights or workarounds from the community would be appreciated.
Thanks!
So, I was going to make a macOS application that accepts dropped apps. This used to work fine in older macOS versions such as High Sierra. It also works for apps like Script Editor.
But I cannot get my own app, made with either Xcode or Script Editor, receive dropped apps any more.
Mind you, Finder does accept dropping .app items onto my app, so the CFBundleDocumentTypes are fine. And, as I said, it works in High Sierra.
The problem is that some part in AppKit or Core Services filters out apps from the list of dropped URLs before application:openURLs: is invoked.
What's up with that, and how do I make this work again?
I've tried copying all of Script Editor's Info.plist entries to no avail, so there's something more sinister going on here.
Also filed under FB21456137
Topic:
App & System Services
SubTopic:
General
Environment:
Device: iPhone 15
iOS Version: 26.2
Xcode Version: (add your version)
Signing: Automatic with Apple Developer account
Problem:
When calling NFCTagReaderSession.begin(), the session immediately fails with error code 2: "Missing required entitlement". This happens even though:
NFCTagReaderSession.readingAvailable returns true
NFCNDEFReaderSession.readingAvailable returns true
The session object is created successfully
Configuration verified:
BonoResidente.entitlements:
Info.plist (relevant keys):
NFCReaderUsageDescription
This app needs NFC permission to read transport cards
com.apple.developer.nfc.readersession.iso7816.select-identifiers
D2760000850101
Apple Developer Portal:
App ID com.acalvoelorri.BonoResidente has "NFC Tag Reading" capability enabled
Provisioning profiles were regenerated after enabling the capability
Xcode:
"Near Field Communication Tag Reading" capability added via Signing & Capabilities
CODE_SIGN_ENTITLEMENTS correctly points to the entitlements file
Automatic signing enabled with valid Development Team
Steps taken:
Deleted app from device
Clean Build Folder (Cmd+Shift+K)
Deleted and re-added the NFC capability in Xcode
Manually enabled NFC Tag Reading in Apple Developer Portal
Rebuilt and reinstalled the app
Code:
import CoreNFC
class NFCReaderService: NSObject, ObservableObject, NFCTagReaderSessionDelegate {
@Published var lastReadData: String = ""
@Published var isReading: Bool = false
private var session: NFCTagReaderSession?
func startReading() {
guard NFCTagReaderSession.readingAvailable else {
lastReadData = "NFC not available on this device"
return
}
session = NFCTagReaderSession(
pollingOption: [.iso14443, .iso15693, .iso18092],
delegate: self
)
session?.alertMessage = "Hold your transport card near the iPhone"
session?.begin()
isReading = true
}
func tagReaderSessionDidBecomeActive(_ session: NFCTagReaderSession) {
print("NFC session active")
}
func tagReaderSession(_ session: NFCTagReaderSession, didInvalidateWithError error: Error) {
// Error occurs here immediately after begin()
print("Error: \(error)")
}
func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) {
// Never reached
}
}
Console logs:
========== NFC DEBUG INFO ==========
iOS Version: 26.2
Device Model: iPhone
Device Name: iPhone
System Name: iOS
NFCTagReaderSession.readingAvailable: true
NFCNDEFReaderSession.readingAvailable: true
Bundle ID: com.acalvoelorri.BonoResidente
Creating NFCTagReaderSession with pollingOption: [.iso14443, .iso15693, .iso18092]...
Session created: Optional(<NFCTagReaderSession: 0x110fa50e0>)
Setting alertMessage...
Calling session.begin()...
session.begin() completed, isReading = true
========== NFC ERROR DEBUG ==========
Full error: Error Domain=NFCError Code=2 "Missing required entitlement" UserInfo={NSLocalizedDescription=Missing required entitlement}
Error type: NFCError
Localized: Missing required entitlement
NSError domain: NFCError
NSError code: 2
NSError userInfo: ["NSLocalizedDescription": Missing required entitlement]
Questions:
Is there a known issue with NFCTagReaderSession entitlements on iOS 26.2?
Are there additional entitlements required beyond com.apple.developer.nfc.readersession.formats with value TAG?
How can I verify that the installed app's provisioning profile actually contains the NFC entitlement?
Any help would be appreciated. Thank you.
Hi there,
Starting with iOS 26.2 RC, all my DeviceActivityMonitor.eventDidReachThreshold get activated immediately as I pick up my iPhone for the first time, two nights in a row.
Feedback: FB21267341
There's always a chance something odd is happening to my device in particular (although I can't recall making any changes here and the debug logs point to the issue), but just getting this out there ASAP in case others are seeing this (or haven't tried!), and it's critical as this is the RC.
DeviceActivityMonitor.eventDidReachThreshold issues also mentioned here: https://developer.apple.com/forums/thread/793747; but I believe they are different and were potentially fixed in iOS 26.1, but it points to this part of the technology having issues and maybe someone from Apple has been tweaking it.
Topic:
App & System Services
SubTopic:
General
Tags:
Family Controls
Device Activity
Managed Settings
Screen Time
When a user enables an SMS filtering extension via iOS Settings → Messages → Text Message Filtering and selects an app, the following prompt appears:
"The developer of [App Name] will receive the text, attachments and sender information in text messages from senders not in your Contacts. Messages may include personal or sensitive information like bank verification codes."
This message cannot be modified by developers, and we're receiving complaints and negative reviews from users who are alarmed by it, despite our app not collecting any data.
iOS should allow developers to customize this message or reword this message to not make false claims about data collection.
We've opened a feedback assistant report here: FB21445903
I have applied for CarPlay support here Apply here to get your app approved for CarPlay use: https://developer.apple.com/contact/carplay/ but have not received any acceptance or answers. Does anyone know what to do?
After reading the news below, we are currently working on updating our app in preparation for the enforcement of Texas SB 2420.
https://developer.apple.com/news/?id=2ezb6jhj
Based on the information in the announcement, we understand that parents will be able to revoke their consent for apps.
However, we are unsure how an app is supposed to obtain or verify the parent’s consent status in the first place.
We reviewed the Declared Age Range API and PermissionKit’s Significant Change API, but could not find any functionality related to this.
If anyone with expertise on this topic has insight, we would greatly appreciate your guidance.
Thank you in advance.
I'm encountering a strange behavior with one of my home's on Home app while I'm off network. When I launch the app it indicates that the hub is not responding and all of my devices are unavailable.
However, on the menu bar at the bottom if I switch to "Automation" and back to "Home" the pop-up goes away and my devices are accessible again (sometimes this take a few attempts). Siri is also able to consistently control my devices without an issue.
The same behavior occurs with Home app on other devices (e.g. Mac) and with other members that have access to the household. 3rd party HomeKit app like "Controller" does not have an issue.
This issue began with iOS 26 and I haven't had much luck resolving the issue. I already tried rebooting everything, including removing and re-adding an Apple TV (home hub). I have other homes shared with me in Home App with similar network/environment that are still working. The home I'm having issues has the most number of devices though (over 100+).
Our team is in the process of updating our apps to comply with Texas's new state law.
In order to minimize user confusion and provide the most ideal flow to access the app as possible, we have a few questions we would like answered.
Summary of questions:
Is isEligibleForAgeFeatures intended to be accurate and accessible before the user has accepted the Age Range permissions prompt?
As other US states and/or other countries adopt a similar law going forward, will this instance variable cover those locations?
Will the runtime crashes on isEligibleForAgeFeatures and other symbols in the DeclaredAgeRange framework be addressed in a future RC or in the official release?
Details and Investigations:
With regards to isEligibleForAgeFeatures, our team has noticed that this value is always false before the age range prompt has been accepted. This has been tested on the XCode RC 26.2 (17C48).
Assuming the request needs to be accepted first,
isEligibleForAgeFeatures does not get updated immediately when the user chooses to share their age range (updated to true, when our sandbox test account is a Texas resident). Only upon subsequent relaunches of the app does this return a value that reflects the sandbox user's location. Is isEligibleForAgeFeatures intended to be accurate and accessible before the user has accepted the Age Range permissions prompt?
This leads to our follow-up question to clarify whether isEligibleForAgeFeatures explicitly correlates to a user in an affected legal jurisdiction–if future US states and/or other countries adopt a similar law going forward, will this instance variable cover those locations?
Can we also get confirmation about whether the runtime crash on isEligibleForAgeFeatures and other symbols in the DeclaredAgeRange framework will be addressed in a future RC or in the official release?
Thank you.
NSApplicationDelegate.application(_:open:) gets the files it needs to read from the file URLs given. There are similar older functions that use a String to identify the file. What format are those strings expecting? A path name? An URL?
I have published the app on the App Store along with its corresponding app clip, my app clip is configured with some advanced experiences for each one of my clients, but whenever some users try to scan an NFC or QR Code they see the card rendering correctly with their configured banner image, but with the message "App Clip Unavailable".
The weird thing is that both iMessage and the website to which the associated domain is set and the apple-app-site-association is stored, renders the banner or card correctly, and when the users tap the banner or card they open the advanced app clip experience correctly without any issue.
I have attempted to troubleshoot the issue by checking the following:
if the app clip is below 15MB
if we are using a second level domain in my associated domain both for my app clip and app (excluding the www subdomain).
checking if the AASA is correctly stored inside .well-known directory
checking the configuration for the advanced experience
I opened a case: 102233443873, and added a bunch of videos and screenshot showcasing the issue, but I have not yet received a reply
Hi, I am developing a NSReplicatedFileProvider extension. Part of that I am also doing a Finder Sync Extension, but I am for whatever reason unable to enable the extension. What am I missing? it is signed properly, it has the right app group. Is there anything else I nede to enable for it? When I do this:
pluginkit -m | grep -i XXXFinderSync
I get
com.clio.XXX-Desktop.XXXFinderSync(1.0)
Not that - shows up as bullet point. The hyphen signifies it is disabled.
I'm running into a contradictory requirement involving the DeviceActivity Report extension (com.apple.deviceactivityui.report-extension) that makes it impossible to both:
upload the app to App Store Connect, and
install the app on a physical device.
This creates a complete catch-22.
📌 Overview
My extension:
Path: Runner.app/PlugIns/LoADeviceActivityReport.appex
Extension point: com.apple.deviceactivityui.report-extension
Implementation (SwiftUI):
import SwiftUI
import DeviceActivity
@main
struct LoADeviceActivityReport: DeviceActivityReportExtension {
var body: some DeviceActivityReportScene {
// ...
}
}
This is the standard SwiftUI @main DeviceActivityReportExtension template.
🟥 Side A — iOS runtime behavior (device installer)
If I add either of these keys to the extension's Info.plist:
NSExtensionPrincipalClass
NSExtensionMainStoryboard
then the app cannot be installed on a real iPhone/iPad.
The device installer fails with:
Error 3002
AppexBundleContainsClassOrStoryboard
NSExtensionPrincipalClass and NSExtensionMainStoryboard are not allowed
for extension point com.apple.deviceactivityui.report-extension.
To make the app install and run, I must remove both keys completely.
This leaves the extension Info.plist like:
NSExtension
NSExtensionPointIdentifier
com.apple.deviceactivityui.report-extension
With this, the app installs and runs correctly.
🟥 Side B — App Store Connect upload validator
However, when I upload the IPA with the runtime-correct Info.plist, App Store Connect rejects it:
State: STATE_ERROR.VALIDATION_ERROR (HTTP 409)
Missing Info.plist values.
No values for NSExtensionMainStoryboard or NSExtensionPrincipalClass found in
extension Info.plist for Runner.app/PlugIns/LoADeviceActivityReport.appex.
So ASC requires that at least one of those keys be present.
💥 The catch-22
If I add PrincipalClass / MainStoryboard:
✔ App Store Connect validation passes
❌ But the app can NOT be installed on any device (Error 3002)
If I remove PrincipalClass / MainStoryboard:
✔ The app installs and runs correctly
❌ ASC rejects the upload with “Missing Info.plist values”
There is currently NO Info.plist configuration that satisfies both:
Runtime:
"NSExtensionPrincipalClass and NSExtensionMainStoryboard are not allowed."
App Store Connect:
"You must include NSExtensionPrincipalClass or NSExtensionMainStoryboard."
📌 Expected behavior
For SwiftUI @main DeviceActivityReportExtension, the documentation and examples suggest the correct configuration is:
NSExtensionPointIdentifier
com.apple.deviceactivityui.report-extension
with no principal class or storyboard at all.
If that is correct for runtime, ASC seems to need updated validation rules for this extension type.
❓My Questions
What is the officially correct Info.plist configuration for a SwiftUI DeviceActivityReportExtension?
Should principal class / storyboard not be required for this extension type?
Is this a known issue with App Store Connect validation?
Is there currently a workaround that allows:
installation on device and
successful App Store Connect upload,
without violating runtime restrictions?
使用APPIntent 的AppShortcutsProvider方式,最多只能添加10个AppShortcut,超过10个,代码编译就会报错
struct MeditationShortcuts: AppShortcutsProvider {
static var appShortcuts: [AppShortcut] {
AppShortcut(
intent: StartMeditationIntent(),
phrases: [
"Start a (.applicationName)",
"Begin (.applicationName)",
"Meditate with (.applicationName)",
"Start a (.$session) session with (.applicationName)",
"Begin a (.$session) session with (.applicationName)",
"Meditate on (.$session) with (.applicationName)"
]
)
}
}
如何能做到像特斯拉APP一样
Problem Description:
After upgrading to iOS 26, I discovered that the ExtendedDistanceMeasurement feature in the Nearby Interaction framework is not working as expected. On the same device model, the issue did not occur on iOS 18, but it is present on iOS 26 (including the latest iOS 26.2), and it has started affecting the functionality of my app. I hope this issue can be resolved as soon as possible.
Problem Details:
On iOS 26 and later versions (including iOS 26.2), when using an iPhone and an Apple Watch both equipped with second-generation UWB chips, enabling isExtendedDistanceMeasurementEnabled initiates the distance measurement process successfully, but the distance information fails to update. The real-time distance between the devices does not display within the app.
Affected Devices and Versions:
iPhone Model: iPhone 15 Pro Max
iOS Version: iOS 26.2
Apple Watch Model: Apple Watch 10
watchOS Version: 26.2
Example Code:
The issue can be reproduced by adding the following code from the official sample code:
Nearby Interaction Framework Sample Code
Hello guys,
I have been trying to advertise in the background but I can’t seem to make it work.
In my case, I want if a device is acting as a peripheral and the app goes to the background it still can be discoverable and be able to write/read to/from it by the central.
I have added the background mode “Acts as a Bluetooth accessory”.
When will willRestoreState be called?
What should I do in willRestoreState?
Will it always be discoverable or have some limitations?
Should I stop advertising at any point?
How should I clean up after the view is dismissed?
Must the peripheral manager be initialized in the AppDelegate? and if so, will it always be advertising even if I don't want it to?
What are the battery concerns?
Also, I have encountered an issue that my iPhone device can discover an Android device but not the opposite. What could be the problem of this?
Thank you.
Best regards
How can I talk with a human being at Apple?
Thank you,
Bud Miller
Topic:
App & System Services
SubTopic:
General
Dear Apple Customer Support,
I’m developing a new Swift iPadOS app and I want the app to run in landscape only (portrait disabled).
In Xcode, under Target > General > Deployment Info > Device Orientation, if I select only Landscape Left and Landscape Right, the app builds successfully, but during upload/validation I receive this message and the upload is blocked:
“Update the Info.plist: Support for all orientations will soon be required.”
Could you please advise what the correct/recommended way is to keep an iPad app locked to landscape only while complying with the current App Store upload requirements?
Is there a specific Info.plist configuration (e.g., UISupportedInterfaceOrientations~ipad) or another setting that should be used?
Thank you,