Overview

Post

Replies

Boosts

Views

Created

App Clip still loads even after being deactivated in App Store Connect (48+ hours later)
Hi everyone, We’re experiencing a persistent issue with an App Clip Experience that continues to load on iOS devices even after being deactivated in App Store Connect more than 48 hours ago. Issue Summary An App Clip Experience tied to the URL pattern https://srgplus.com/u/... keeps appearing when scanning NFC tags or QR codes, despite being removed from App Store Connect. Key Details The App Clip Experience was deactivated over 48 hours ago. iOS still launches the App Clip when scanning NFC tags or QR codes that match the URL structure. The specific token-based App Clip Experience (for example: https://srgplus.com/u/iohgqa) was removed, but iOS still loads an App Clip as if the Experience exists. It seems like iOS is falling back to a previously registered base URL Pattern such as: https://srgplus.com/u or possibly even https://srgplus.com The problem: This fallback App Clip is not visible anywhere in App Store Connect → Advanced App Clip Experiences. So we cannot delete or modify it. The behavior persists across: Multiple devices Different networks After clearing device caches After reinstalling our app Even after scanning using devices that never used this App Clip before This makes us believe that the App Clip Experience may be: Cached on Apple’s servers Or orphaned/hidden in App Store Connect Or not properly removed from the URL pattern registry Steps to Reproduce Deactivate an App Clip Experience in App Store Connect. Wait 48 hours or more. Scan an NFC tag or QR code pointing to a previously used URL pattern. App Clip still appears, even though no active Experience exists. Expected Behavior App Clip should stop appearing once the Experience is deactivated and removed. Actual Behavior App Clip continues to load indefinitely, suggesting a cached or orphaned configuration. Question Has anyone encountered similar behavior? Is there a way to request a manual purge of App Clip URL patterns or cached Experiences from Apple’s side? Any guidance or insights would be greatly appreciated. Thank you!
1
0
5
1h
CloudKit, SwiftData models and app crashing
Hi all... The app I'm building is not really a beginner level test app, it's intended to be published so I want everything to be done properly while I'm both learning and building the app. I'm new to swift ecosystem but well experienced with python and JS ecosystems. These two models are causing my app to crash @Model final class CustomerModel { var id: String = UUID().uuidString var name: String = "" var email: String = "" var phone: String = "" var address: String = "" var city: String = "" var postalCode: String = "" var country: String = "" @Relationship(deleteRule: .nullify) var orders: [OrderModel]? @Relationship(deleteRule: .nullify) var invoices: [InvoiceModel]? init() {} } @Model final class OrderModel { var id: String = UUID().uuidString var total: Double = 0 var status: String = "processing" var tracking_id: String = "" var order_date: Date = Date.now var updated: Date = Date.now var delivery_date: Date? var active: Bool = true var createdAt: Date = Date.now var items: [OrderItem]? @Relationship(deleteRule: .nullify) var invoice: InvoiceModel? @Relationship(deleteRule: .nullify) var customer: CustomerModel? init() {} } both referenced in this model: @Model final class InvoiceModel{ var id: String = UUID().uuidString var status: String = "Pending" var comment: String = "" var dueDate: Date = Date.now var createdAt: Date = Date.now var updated: Date = Date.now var amount: Double = 0.0 var paymentTerms: String = "Once" var paymentMethod: String = "" var paymentDates: [Date] = [] var numOfPayments: Int = 1 @Relationship(deleteRule: .nullify, inverse: \OrderModel.invoice) var order: OrderModel? @Relationship(deleteRule: .nullify) var customer: CustomerModel? init() {} } This is my modelContainer in my index structure: @main struct Aje: App { var appContainer: ModelContainer = { let schema = Schema([UserModel.self, TaskModel.self, SubtaskModel.self, InventoryModel.self, SupplierModel.self]) let config = ModelConfiguration(schema: schema, isStoredInMemoryOnly: false, allowsSave: true, groupContainer: .automatic, cloudKitDatabase: .automatic) do{ return try ModelContainer(for: schema, configurations: [config]) }catch{ fatalError("An error has occured: \(error)") } }() var body: some Scene { WindowGroup { ContentView() } .modelContainer(appContainer) } } This works fine but the below after adding the problematic models crashes the app unless CloudKit is disabled @main struct Aje: App { var appContainer: ModelContainer = { let schema = Schema([UserModel.self, TaskModel.self, SubtaskModel.self, InventoryModel.self, SupplierModel.self, InvoiceModel.self, OrderModel.self, CustomerModel.self]) let config = ModelConfiguration(schema: schema, isStoredInMemoryOnly: false, allowsSave: true, groupContainer: .automatic, cloudKitDatabase: .automatic) do{ return try ModelContainer(for: schema, configurations: [config]) }catch{ fatalError("An error has occured: \(error)") } }() var body: some Scene { WindowGroup { ContentView() } .modelContainer(appContainer) } }
1
0
9
2h
Mac Catalyst Getting Unacceptable Window Resizing Performance on macOS Tahoe With Liquid Glass Design
When I run my Mac Catalyst app I'm getting unacceptable performance when resizing the window. Window resizing is very unresponsive/laggy. Configuration: The root view controller is a UISplitViewController (three pane split using UISplitViewControllerStyleTripleColumn). Sidebar is configured. It's using a UICollectionView sidebar style (so it looks like NSOutlineView in AppKit). On initial launch there is no selection and the second and third view controllers in the split have empty placeholder view controllers. At this point window resizing is fine. Now I make a selection in the sidebar. This populates the supplementary view controller with a view controller that uses a UITableView. Now resizing the window performance is awful. Basically this is unusable. When resizing the window a bunch what looks to be Core Animation related logs flood the console during window resize: cannot add handler to 3 from 1 - dropping Library: QuartzCore | Subsystem: com.apple.coreanimation Now if I go to my app's Info.plist and add: UIDesignRequiresCompatibility entry with a value of TRUE and follow the same steps described above window resizing works as expected and I do not experience performance issues. Also with UIDesignRequiresCompatibility there is no "cannot add handlers" error logs flooding the console on window resize.
0
0
14
2h
How can you update a Live Activity without hitting "Allow"?
(I truly appreciate all the responses you all have written for me :bow: ) I was under the assumption that for Live Activity, in order for you to be able to update the Activity, you need an update token. And for the OS to issue you the update token, user must hit the "Allow" from the lock screen. However based on these screenshots it seems that you don't need to hit "Allow" to be able to update the Live Activity. Live Activity was updated — even without the user hitting "Allow" So now I'm wondering if: Is hitting Allow required for the update token to get issued? Or that assumption is incorrect? In our tests (when connected to Proxyman, the OS emits the update token after user hits "Allow" / "Always Allow") If you don't hit allow, are there alternate ways to update the Live Activity without having the update token? I'm guessing you could set a short stale time and then when the OS launches the app in the background you query the server and then update the Live Activity. Is that a worthy approach? I also noticed that the "The Philly Inquirer" App has 'Background App Refresh" enabled, but this happened in 2 minutes. In our architecture assessments, after reviewing Apple's docs on 'Background Processing", we didn't think of it as a viable option, because it can't guarantee if the OS is given time in the next 2 minutes or 10 hours later when the phone is getting charged again. Are any of these workarounds viable or are there alternate approaches? Our requirement is: be able to use Live Activity between 2-72hrs after app install. (I mention this because perhaps Apple may impost some restrictions for new installs) be able to update an active Live Activity within 1-2 minutes after it has began.
0
0
22
3h
Platform SSO development - refresh tokens
Hi, I developed a Platform Single Sign-On extension and a corresponding extension for my IdP, which is Keycloak based. The code for both projects are here: https://github.com/unioslo/keycloak-psso-extension and https://github.com/unioslo/weblogin-mac-sso-extension I realized that, when using the Secure Enclave as the AuthenticationMethod, and according to Apple's documentation, the Extension doesn’t obtain fresh ID Tokens when they expire if the refresh token is still valid. When using password as the Authentication Method, it fetches new ID tokens when they expire, without prompting the user for credentials, by using the refresh token. My suggestion is that the same behavior should be implemented for Secure Enclave keys. The thing here is that usually, on OIDC flows, the ID/Access tokens are short-lived. It would make sense for the extension to provide fresh ID tokens. It doesn’t seem to make sense for me that, when using passwords, the extension would fetch these tokens, and not when having the Secure Enclave key. By not doing this, Apple almost forces the developer of an extension to fetch new ID tokens themselves, which doens’t make sense when it clearly provides fresh tokens when using passwords. It almost forces the developers to either implement that logic themselves, or to issue longer tokens, which is not so nice. How so you deal with this? Do you simply use the refresh token as an authentication token, or do you do some sort of manual refresh on the extension?
0
0
15
4h
Getting crashes when using QLPreviewPanel on AddressBook items
My app (FindAnyFile) provides a Finder-like interface in which it also offers a QuickLook preview command, which invokes [[QLPreviewPanel sharedPreviewPanel] makeKeyAndOrderFront:nil]; Now, if it shows .abcdp files, it often, but not always, crashes. This has been happening for many macOS versions, at least since 10.15, up to 26.1. Also, it does not seem to matter which SDK/Xcode I build with, as I used several and all versions lead to the crash. The issue rather appears to be inside the QLplugin for the AB file (ABCardCollectionView etc.). I am able to trace this crash in Xcode. There are a LOT of errors and warnings coming up, and eventually the qlplugin throws an ObjC exception which in turn brings down my entire app (and here I thought that the XPC system was designed to expressly avoid such crashes). Possibly significant errors are: CNAccountCollectionUpdateWatcher 0x6000025cf800: Update event received, but store registration failed. This event will be handled, but the behavior is undefined. Error using remote object proxy when fetchAnonymousXPCEndpoint: Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.apple.telephonyutilities.callservicesdaemon.callstatecontroller" UserInfo={NSDebugDescription=connection to service named com.apple.telephonyutilities.callservicesdaemon.callstatecontroller} connection to service named com.apple.coreduetd.people … CNPropertyNotFetchedException: A property was not requested when contact was fetched. I've attached the (mostly) complete console output from such a debug run. I have also an open bug report regarding this kind of crash (back then I was not able to reproduce it myself): FB15553847 Also, when I "Quick Look" the same file in Finder, I get a "Preview not permitted" for the same items that crash in my app. If I copy the same items to the Desktop, then Finder can QL them and my app doesn't crash when viewing the item on the Desktop. So, the crash only happens with the items inside ~/Library/Application Support/AddressBook/Sources/…/Metadata/. Now, here is the weirdest part: You might think: So, if the Finder shows "Preview not permitted", then my app trying to view those items is the result of that condition (even if that's not supposed to crash). However: I have a clean 26.1 install (in an Apple ARM VM) where Finder also says "Preview not permitted" for these items in the user's Library/AB/Metadata folder, but my app can QL those items without crashing! Also, I have one user who uses 26.1 and gets the crash with files in the same location. So, the "Preview not permitted" is probably not the cause of this crash, though it's suspicious that a user gets this at all - why can't a user QL the abcdp files in the Metadata folder but when copied to the Desktop, QL works? You'd think that Finder has the necessary entitlements to access the AB, or doesn't it? Of course, my app has permission enabled under Privacy & Security / Contacts (if it's disabled, then the app can't show anything but will also not crash). And it has the "Address Book" entitlement. Would be nice if this could be looked into and eventually be fixed. Alternatively, I'd welcome any suggestions on how to prevent my app from crashing if the qlplugin throws. But if you look at the stack trace you'll see that there's no method of my own app involved where I could insert an exception catcher. I added code to my previewItemURL delegate method to make sure the NSURL item is readable, and it is, even Of course, apart from the issue with .abcdp files, the QL operation in my app works flawlessly, i.e. I have never received any other crash reports relating to any other QL plugins. QuickLook for AddressBook crash messages
0
0
16
4h
Can new Xcode build unsupported deployment target IPA?
In the official explanation, "deployment targets" refers to "the OS range supported by this version of Xcode for uploading apps to App Store Connect." On the Xcode Support page (https://developer.apple.com/support/xcode/), I can find the deployment targets supported by each Xcode version. My question is: can I use a newer version of Xcode to build an IPA with an older deployment target that isn’t listed? For example, can I use Xcode 26 to build an iOS 12 IPA (just build, not debug)? In my opinion, since the new SDKs still contain many old macros restricted to earlier iOS versions, it should be possible, but I’m not sure if that’s correct. Thanks.
1
0
22
4h
Submitting an App using Chromium Embedded Framework (CEF) to the Mac App Store
Hi, We have several Apps that use CEF internally for real-time offscreen HTML rendering. Specifically, we have a framework with an embedded XPC service that itself uses CEF to render HTML and sends the resulting IOSurface back to the host App via XPC for rendering in a Metal pipeline. So far our Apps have only been available as a direct download, but recently we have been trying to submit one of them to the MAS and have run into several issues, CEF being one of them. The core of the issue seems to be that submission to the MAS requires that all executables, including XPC services, be signed with the sandbox entitlement. After enabling the sandbox on the host App, my XPC service with CEF continued to function as before. However, after signing the XPC service with the sandbox entitlement, it stopped working. After some research, it seems that the issue here is that the XPC service once signed with the entitlement is running in its own sandbox, and because CEF uses global Mach ports for internal communication, this then fails. Further, I have read from other developers that even if these issues are overcome by e.g. modifying CEF, they have been rejected by the review team because CEF uses some private API calls. So my question is, does anyone have concrete information on whether or not it will be possible to successfully submit an App using CEF in this way (App > Framework > XPC > CEF) for publication on the MAS? Further, as an alternative I have been looking at WebKit, specifically WKWebView and calling "takeSnapshot", as this seems to be the only documented way to retrieve pixels. However, it seems that this method is not designed for real-time rendering. Assuming that CEF is a non-starter for the MAS, is there anything specific that Apple recommends for real-time offscreen HTML rendering? Cheers, Dave Lincoln
0
0
20
5h
Organization Account Stuck in Pending After Renewal Payment & Account Holder Change
Hello, Our organization Apple Developer account has been in pending status for over 30 days and we need guidance. Timeline: Paid annual $99 membership renewal fee (payment processed successfully) Changed Account Holder as required Submitted verification documents (passport, employment letter, business registration) Received response that verification could not be completed Updated Apple ID information to match passport exactly Sent follow-up email 30+ days ago - no response since Current status: Account shows "pending" Payment status: Successfully processed We have contacted support multiple times but haven't received updates for over a month. This is severely impacting our business. Questions: Has anyone experienced similar issues with account holder verification? What additional steps can we take? Is there an escalation process we should follow? Any guidance would be greatly appreciated.
0
0
10
6h
Xcode Cloud Build timeouted by cloning our Bitbucket-Server Repository
We want to replace our CI/CD pipelines in Azure DevOps with Xcode Cloud and are currently facing a critical hurdle. For some time now, we’ve observed that the PoC pipelines in Xcode Cloud are having major issues cloning our repositories stored on our Bitbucket Server. More and more pipeline runs are timing out because Xcode Cloud cannot receive the data. Today I spoke with our network team to check whether we might have an issue on our side affecting access to the repository, but we couldn’t find any problems. Cloning the repository to an external machine only takes 30 seconds, so the host’s bandwidth doesn’t seem to be the problem. However, our network specialists did discover one message: Significance: Request abnormal event: high total time Connection abnormal event: client has a slow receive rate If this is the bottleneck in the system, we may ultimately have to stay with Azure DevOps and Fastlane in order to continue providing our product teams with reliable builds. I look forward to your feedback and thank you in advance. Maik
2
0
16
6h
“iOS 26 + BGContinuedProcessingTask: Why does a CPU/ML-intensive job run 4-5× slower in background?”
Hello All, I’m a mobile-app developer working with iOS 26+ and I’m using BGContinuedProcessingTask to perform background work. My app’s workflow includes the following business logic: Loading images via PHImageRequest. Using a CLIP model to extract image embeddings. Using an .mlmodel-based model to further process those embeddings. For both model inferences I set computeUnits = .cpuAndNeuralEngine. When the app is moved to the background, I observe that the same workload(all three workload) becomes on average 4-5× slower than when the app is in the foreground. In an attempt to diagnose the slowdown, I tried to profile with Xcode Instruments, but since a debugger was attached, the performance in background appeared nearly identical to foreground. Even when I detached the debugger, the measured system resource metrics (process CPU usage, system CPU usage, memory, QoS class, thermal state) showed no meaningful difference. Below are some of the metrics I captured: Process CPU: 177% (Foreground) → 153% (Background) → ~-24.1% Still >1.5 cores of work. System CPU: 56.1% → 38.4% → ~-17.7% Process Memory: 244.8 MB → 218.1 MB QoS Class: userInitiated in both cases Thermal State: nominal in both cases Given these results, I’m finding it hard to pinpoint why the overall latency is so much worse when the app is backgrounded, even though the obvious metrics show little variation. I suspect the cause may involve P-core vs E-core scheduling, or internal hardware throttling/limit of Neural Engine usage, but I cannot find clear documentation or logging to confirm this. My question is: Does anyone know why a CPU (and Neural Engine)-intensive job like this would slow down so dramatically when using BGContinuedProcessingTask in the background on iOS 26+, despite apparent similar resource-usage metrics? Are there internal iOS scheduling/hardware-allocation behaviors (e.g., falling back to lower-performing cores when backgrounded) that might explain this? Any pointers to Apple technical notes, system logs, or instrumentation I might use to detect which cores or compute units are being used would be greatly appreciated. Thank you for your time and any guidance you can provide. Best regards,
0
0
14
6h
How to Change Apple Developer Account Holder to a Non-Employee Email?
Hi everyone, I work in a large enterprise that maintains an Apple Developer account for developing and distributing internal and customer-facing iOS applications. Right now, the Apple Developer account is registered under the personal email of one employee. This creates operational challenges: if that employee leaves the company, transferring Account Holder responsibilities becomes a cumbersome and time-consuming process. We would like to change the Account Holder’s email to a role-based address that is not tied to any specific employee. This way, ownership and access remain within the company regardless of staff changes. Has anyone done this successfully? Is it possible to convert the existing Account Holder to a non-employee, role-based Apple ID, or is there an official process Apple recommends for this situation? Any guidance or steps would be greatly appreciated. Thanks!
0
0
23
8h
The backgroundColor property of UITabBar do not take effect in iOS 26.
UITabBarAppearance *appearance = UITabBarAppearance.alloc.init; [appearance.stackedLayoutAppearance.normal setTitleTextAttributes:@{NSForegroundColorAttributeName:UIColor.redColor}]; [appearance.stackedLayoutAppearance.selected setTitleTextAttributes:@{NSForegroundColorAttributeName:UIColor.purpleColor}]; appearance.backgroundColor = UIColor.redColor; self.tabBar.standardAppearance = appearance; self.tabBar.scrollEdgeAppearance = appearance; How to resolve?
Topic: UI Frameworks SubTopic: UIKit
0
0
18
9h
CoreBluetooth connection never starts
I'm scanning for peripherals, and keep references to multiple CBUUIDs - one for each peripheral. I then start a connection to the peripheral. I never get a callback to say the connection succeeded, failed, or disconnected. I have a Mini-Moreph Bluetooth sniffer. The sniffer shows that the iPhone never tried to connect to any of the peripherals. The iPhone HCI logs show that a create connection request was sent, but a cancel connection request was sent 0.018 seconds later. No feedback was given to my application through CoreBluetooth. I've filed this through Feedback Assistant, but expect nothing will come of the report.
0
0
11
9h
XCode StoreKit helper application failure - Purchase Fails with NSCocoaErrorDomain Code=4099 and ASDErrorDomain Code=5115
XCode version = 26 && macOS version = 26 Running the app from XCode (not in release mode) I want to implement in app purchases for my macOS application, for that i want to first test it locally through StoreKit config file. Steps i have done uptill now: Added the capability in target-> Signing & Capabilities -> In_App Purchase(while adding this i had got the popup: Make changes to In-App Purchase by changing all configurations - i have no idea about it, Researched on it - didnt got something) Added the storekit config file -> added Group for autorenewable subscription -> reference name & product ID (i have used same Bundle ID and product ID, also i have used different both but still the same issue in both case) - also added it to scheme Added the storeManager implementation that is: import StoreKit class IAPManager { // Shared instance (optional singleton pattern) static let shared = IAPManager() private init() { } // Array to store fetched products var products: [Product] = [] // MARK: - Fetch Products func fetchProducts() async { let productIDs = ["com.app.yearly"] do { // Fetch products from StoreKit let fetchedProducts = try await Product.products(for: productIDs) self.products = fetchedProducts print("✅ Successfully fetched products:") for product in fetchedProducts { print("----------------------------") print("Product ID: \(product.id)") print("Display Name: \(product.displayName)") print("Description: \(product.description)") print("Price: \(product.displayPrice)") print("Subscription Type: \(product.type)") } } catch { print("❌ Failed to fetch products: \(error)") } } } extension IAPManager { func observeTransactions() { Task.detached(priority: .background) { for await result in Transaction.updates { switch result { case .verified(let transaction): print("🔄 Transaction updated: \(transaction.productID)") await transaction.finish() case .unverified(_, let error): print("⚠️ Transaction unverified: \(error.localizedDescription)") func purchase(product: Product) async { do { let result = try await product.purchase() switch result { case .success(let verification): // Check if transaction is verified switch verification { case .verified(let transaction): print("✅ Purchase successful!") print("Product ID: \(transaction.productID)") print("Transaction ID: \(transaction.id)") print("Purchase Date: \(transaction.purchaseDate)") // Finish transaction to update entitlements await transaction.finish() case .unverified(_, let error): print("⚠️ Purchase verification failed: \(error.localizedDescription)") } case .userCancelled: print("❌ Purchase cancelled by user") case .pending: print("⏳ Purchase is pending...") @unknown default: print("❓ Unknown purchase result") } } catch { print("❌ Purchase failed with error: \(error.localizedDescription)") } } } I triggered the function from my Viewcontroller: swift // in viewDidLoad Task { await IAPManager.shared.fetchProducts() } // in button action Task { // Wait until products are fetched while IAPManager.shared.products.isEmpty { try? await Task.sleep(nanoseconds: 200_000_000) // 0.2s } guard let product = IAPManager.shared.products.first else { print("❌ No product available") return } print("Product to be purchased \(product)") await IAPManager.shared.purchase(product: product) } In App Delegate: swift // in applicationDidFinishLaunching IAPManager.shared.observeTransactions() Problem: Although the product is getting fetched correctly, but while purchasing it shows me the error in terminal as: `Error handling payment sheet request: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service created from an endpoint was invalidated from this process." UserInfo={NSDebugDescription=The connection to service created from an endpoint was invalidated from this process.} Purchase did not return a transaction: Error Domain=ASDErrorDomain Code=5115 "Received failure in response from Xcode" UserInfo={NSDebugDescription=Received failure in response from Xcode, NSUnderlyingError=0x600000c30c60 {Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service created from an endpoint was invalidated from this process." UserInfo={AMSDescription=An unknown error occurred. Please try again., AMSURL=http://localhost:49409/WebObjects/MZBuy.woa/wa/inAppBuy, NSDebugDescription=The connection to service created from an endpoint was invalidated from this process., AMSStatusCode=200, AMSServerPayload= "app-list" = ( ); dialog = cancelButtonString = Cancel; defaultButton = Buy; explanation = "Subscribe to\U00a0myApp.\U00a0This subscription will automatically renew every week for $45.99.\n\n[Environment: Xcode]"; initialCheckboxValue = 1; "m-allowed" = 0; okButtonAction = buyParams = "bid=&bvrs=10.1.7&offerName=com.k.yearly&productType=A&quantity=1&deviceVerification=ab5eb999-1e70-5c91-9c69-6adf7a641e86"; itemName = "com..yearly"; kind = Buy; okButtonString = Continue; paymentSheetInfo = caseControl = true; confirmationTitle = Subscribe; countryCode = US; currency = USD; designVersion = 2; value = "For testing purposes only. You will not be charged for confirming this purchase."; ); requestor = AppStore; salableIcon = "http://localhost:49409/StoreKit/AppIcon?bid=[myappID- that i added]"; salableIconType = app; salableInfo = ( "my app Pro %%image_0%%", my app, Subscription ); "download-queue-item-count" = 0; dsid = 17322632127; failureType = 5115; jingleAction = inAppBuy; jingleDocType = inAppSuccess; pings = ( ); Purchase failed with error: Couldn’t communicate with a helper application.`
0
0
7
10h