Delve 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.

Posts under General subtopic

Post

Replies

Boosts

Views

Activity

Spotlight on finds title attribute (OS27 b3)
Hi, it seems that something in OS27b3 changed regarding Core Spotlight: Whatever I try, Siri and Spotlight only seem to find the text inside the title or displayName attribute. But attributes like textContent or contentDescription or keywords seem to be ignored. Those attributes are still found, when I do a manual search using CSUserQuery or using the AppEntityDefinition.spotlightQuery(_:) in App Intent Testing. I have already filed a Feedback – but wonder whether anyone else is having this issue? FB23635795 Thanks, Friedrich
4
0
1.1k
Aug ’26
AlarmKit alarm occasionally fires at exactly 12:00 AM
[FB22327481] We are observing a rare issue where alarms scheduled using AlarmKit occasionally fire exactly at 12:00 AM, even though the alarm was scheduled for a different time. This issue happens only for a very small number of users (for example, 1–2 users per several thousand per day), but multiple reports confirm that the alarm goes off exactly at midnight. We also found that other developers are experiencing the same issue: https://developer.apple.com/forums/thread/815714 Observed behavior For a small number of users: Alarm fires at exactly 00:00 (midnight) This happens even when the scheduled alarm time is something like 7:30 AM Happens rarely Hard to reproduce internally Appears to happen only on real devices in production Additional notes We are using AlarmKit fixed schedules (not relative) Dates passed to AlarmKit are correct at scheduling time We do not intentionally create midnight alarms Issue seems random Question Are there any known limitations or edge cases with AlarmKit fixed schedules that could cause alarms to fire at midnight? For example: Invalid date fallback? Schedule expiration fallback? Time zone changes? Background refresh timing? Maximum schedule window? Any guidance would be appreciated, as this is affecting real users but is difficult to reproduce.
5
1
1.2k
Aug ’26
App Clip card not shown for links in Messages despite passing every documented check
We ship an App Clip with our iOS app and want the App Clip card to appear when users share our website's links in Messages. Instead, recipients only get a plain link preview. The App Clip was approved and has been live on the App Store for over a week. We've verified every requirement from the docs ("Associating your App Clip with your website" and the Messages invocation requirements): The invocation page's server-rendered HTML (no JS needed) contains the meta tag: apple-itunes-app with app-id and app-clip-bundle-id set correctly. /.well-known/apple-app-site-association has an "appclips" section listing the clip's app ID, and Apple's AASA CDN (app-site-association.cdn-apple.com/a/v1/) serves the same content. The App Clip's entitlements include appclips: and the correct parent application identifier. Via the App Store Connect API, the currently live build contains the APP_CLIP build bundle, and the live version has a default App Clip experience (action OPEN, with localizations). The default experience link https://appclip.apple.com/id?p= returns 200 and shows the clip. Tested in Messages between two devices whose owners are in each other's contacts, in brand-new conversations, on current iOS. However, on-device App Clip diagnostics (Settings > Developer > App Clips Testing > Diagnostics) for the invocation URL show the "App Clip Published on App Store" and "Associated Domains" checks not passing, even though everything above is verified correct. ("No Advanced Experience registered" also appears, but as we understand it advanced experiences are only needed for QR/NFC/App Clip Codes, not Messages.) Has anyone seen device-side association fail like this when the server-side config is demonstrably correct? Is there a known propagation delay after releasing a new app version, or a way to force the device to refresh its App Clip association cache beyond rebooting? Any pointers on what the diagnostics tool checks that isn't covered by the list above would be appreciated.
1
0
388
Aug ’26
Callkit returns error code=106 which is not on official document
Callkit returns error code=106. I can't find what this error code means in official documents. What is this error code? Has anybody seen this error code so far? My app is VoIP app using APNs VoIP push. Below is log example of my app. 2026/04/26 09:01:45.752 [436:103]CallManager incomingCall(::::_:completion:):228: error Error Domain=com.apple.CallKit.error.incomingcall Code=106 "(null)"
1
0
579
Aug ’26
Quick Look no longer invokes third-party Markdown preview extensions on iOS 27
On iOS 26, Quick Look invokes an installed data-based Quick Look preview extension for .md files resolved as net.daringfireball.markdown, and the extension renders the Markdown correctly. On iOS 27, the same document and the same installed extension no longer work. Quick Look still resolves the file as net.daringfireball.markdown, but it does not invoke the extension and instead displays the raw Markdown source using the generic plain-text preview. The extension subclasses QLPreviewProvider, has QLIsDataBasedPreview enabled, and includes net.daringfireball.markdown in QLSupportedContentTypes. As a control, the same installed extension correctly launches and renders equivalent document content when it is presented through a custom Uniform Type Identifier. This confirms that the extension is embedded, installed, and otherwise invocable; the failure is specific to Quick Look's provider selection for Markdown on iOS 27. Reproduction: Install an app containing the data-based preview extension described above. On iOS 26, open an .md document in Quick Look and observe that the extension is launched and renders the Markdown. On iOS 27, open the same document with the same extension installed. I reproduced this through Files, although the issue concerns Quick Look provider selection rather than Files-specific behavior. Observe that the extension is not launched and the raw Markdown source is shown. Open an equivalent document registered with a custom content type supported by the same extension. Observe that Quick Look launches the extension and displays the rendered preview. The attached screenshots show the same Markdown case rendered by QuickMark on iOS 26 and falling back to plain text on iOS 27. Is there a supported way for a third-party preview extension to handle net.daringfireball.markdown on iOS 27, or is this an unintended provider-selection regression? Tested with iOS 27.0 (24A5408d) on an iPhone 17 Pro Max Simulator using Xcode 27.0 (27A5237l). Feedback filed as FB24481377.
1
0
157
Aug ’26
Live Caller ID Lookup Extension - No option in phone settings
iOS 18 (22A3354) will not offer a option in settings (> Apps > Phone) after calling openSettings to enable live caller id lookup extension. iPhone and MacBook are in the same network. The PIRService runs on MacBook and is reachable via iPhone Safari (via http://MacBookPro:8080/). Hummingbird print log: hb_method=GET hb_uri=/ [Hummingbird] Request. After deploying the application via Xcode to the iPhone no requests are printed in the terminal. The extension was added like documented and bundle id is also checked multiple times. issuerRequestUri in service-config.json is http://MacBookPro:8080/issue. As far as I can tell, everything has been set up in accordance with the Testing Live Caller ID instructions. Is there something missing?
10
0
2.6k
Aug ’26
iOS 26.2 RC DeviceActivityMonitor.eventDidReachThreshold regression?
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.
31
8
7.8k
Aug ’26
App Icon Does Not Update to the Latest Default Icon on Some iOS Devices After App Update
Environment Platform: iOS iOS versions tested: : 26.5.2, 26.5 Xcode: 26.3 Language: Swift UI framework: SwiftUI App distribution: App Store Device models tested: : iPhone 17, iPhone 16, iPhone 15 pro max, iPhone 17 pro max Issue We are experiencing an issue where the app icon does not update to the latest app icon after an app update on some devices. Initially, our app used Apple's alternate app icon functionality through setAlternateIconName to dynamically change the app icon. However, we observed that the alternate icon was not being updated correctly on some devices. As it was not working , we removed the alternate icon approach and changed the primary/default app icon in the application itself. We then submitted an updated app version with the new default icon. After updating the app, the new app icon is displayed correctly on some devices, but on some other devices the previous/old app icon continues to be displayed, even though the app has been successfully updated to the latest version. The issue appears to be device-specific, as the same app version can display the new icon on one device while continuing to display the old icon on another device. Expected Behavior After installing an app update containing a new default app icon, the new app icon should be displayed on the Home Screen and in relevant system locations such as Shortcuts. Actual Behavior On some devices, after successfully updating the application to the new version, the old app icon continues to be displayed. The application itself is updated successfully and launches normally. The issue is specifically with the icon displayed by the system. Steps to Reproduce Install an older version of the application containing the old app icon. Update the application to a newer version where the default/primary app icon has been changed. Verify that the application has been updated to the latest version. Return to the Home Screen. Observe the application icon. If applicable, check the application icon in the Shortcuts interface. Expected: The new app icon is displayed. Actual: On some devices, the previous app icon is still displayed. Additional Observations We observed different behaviors on affected devices: On one affected device, the old icon remained after the app update but changed to the new icon after restarting the device. On another affected device, the icon changed to the new icon after some time without reinstalling the application. However, on that device, the old icon continued to be displayed in the Shortcuts interface even after the Home Screen icon had changed to the new icon. Reinstalling the application causes the new icon to appear correctly. These observations make the behavior appear to be related to how iOS refreshes or caches application icons after an app update. Additional Information We initially attempted to use Apple's alternate app icon functionality through setAlternateIconName. The alternate icon approach did not update the icon consistently across all tested devices. We therefore changed the application's default/primary icon instead of relying on alternate icons. The issue still occurs on some devices even after changing the default app icon. The application itself functions normally after the update; only the displayed app icon remains unchanged on the affected devices. The issue appears to occur specifically with updating an existing installation rather than installing the application for the first time. Questions Is there any known iOS behavior where the previous Home Screen icon can remain cached after an app update? Is there a recommended way to ensure that iOS refreshes the Home Screen icon after changing the default app icon? Could this behavior be related to the previous use of alternate app icons through setAlternateIconName? Why might the Home Screen icon update after a restart or after some time while the icon shown in Shortcuts continues to display the previous icon? Are there any specific requirements for CFBundleIcons, asset catalogs, Info.plist, or other configuration that we should verify when changing the primary app icon? Is this a known issue on any specific iOS versions or device configurations? We would appreciate any guidance on whether this is expected iOS behavior, an icon caching issue, or if there is something specific we should change in our application configuration.
2
0
293
Aug ’26
iOS 27 Public Beta - CoreBluetooth disconnects during BLE credential send open command to access control readers
Hello Apple Developer Team, We are observing a BLE connectivity issue in our application BlueDiamond Mobile Elite after upgrading devices to iOS 27 Public Beta. Environment App: BlueDiamond Mobile Elite Platform: iOS 27 Public Beta Framework: CoreBluetooth Device Type: iPhone BLE Peripheral: Access control/BLE reader Testing Status: BLE scanning works correctly. Reader discovery works correctly. Connection establishment succeeds. Service and characteristic discovery complete successfully. Issue occurs during credential transmission. Problem Description After connecting to a BLE reader, our application sends mobile credentials to the reader using CoreBluetooth. The workflow is: Scan for BLE readers. Discover target reader. Connect to reader. Discover services and characteristics. Start credential transfer. BLE connection disconnects unexpectedly during or immediately after the credential write operation. The disconnect occurs before the credential transaction completes successfully. Observed Behavior BLE scanning is functioning normally on iOS 27 Public Beta. The reader is discovered without issues. Connection is established successfully. Credential provisioning/credential write operation triggers the problem. centralManager(_:didDisconnectPeripheral:error:) is invoked after the credential transfer attempt. The credential is not successfully delivered to the reader. Expected Behavior The BLE connection should remain active throughout the credential provisioning process and disconnect only after the transaction is completed or when explicitly terminated by the application. Additional Information The same credential issuance flow worked correctly on previous iOS versions. We have already addressed another iOS 27 compatibility issue related to QR code access by updating to Apple's recommended APIs. We are currently investigating whether the BLE disconnection is caused by: Changes in CoreBluetooth behavior in iOS 27 Public Beta. MTU/write packet handling. Write-with-response versus write-without-response behavior. Peripheral firmware compatibility. Credential payload size or transfer timing. Questions Are there any known CoreBluetooth regressions or behavior changes in iOS 27 Public Beta related to characteristic writes or BLE credential provisioning? Has anyone observed unexpected peripheral disconnects during write operations on iOS 27 Public Beta? Are there any recommended changes for applications performing secure credential transfers to BLE peripherals? Any guidance would be greatly appreciated.
1
0
1.3k
Aug ’26
DeclaredAgeRange API not triggering in regulated regions (Brazil, Utah) — Is it functioning in production?
Hi, We've implemented age assurance logic in our app using the DeclaredAgeRange framework to comply with regulations in Brazil (Digital ECA, effective March 17, 2026) and Utah (App Store Accountability Act, effective May 6, 2026). Our implementation calls AgeRangeService.shared.isEligibleForAgeFeatures on app launch to determine whether the current user is subject to age assurance requirements, and proceeds to call requestAgeRange(ageGates:) accordingly. However, after monitoring in production since the Brazil enforcement date, we've consistently observed isEligibleForAgeFeatures returning false for users in regulated regions, with no age range data being returned. What we'd like to clarify: Is isEligibleForAgeFeatures currently returning true for users in Brazil in production (not sandbox)? For Utah — given that HB 498 pushed the developer compliance deadline to May 6, 2027, will isEligibleForAgeFeatures reflect the original May 6, 2026 activation date or the revised 2027 date? Is there a known rollout schedule or gradual activation plan for these regions that would explain why the flag remains false even after the legal enforcement dates have passed? We've seen similar reports from other developers on these forums, so it seems this may be a widespread issue rather than an implementation problem on our end. Any official guidance on the current status of the API in regulated regions would be greatly appreciated. Thanks.
2
2
1.8k
Aug ’26
ImageAnalyzer running VNRecognizeTextRequest in the background?
Using VisionKit, there's two main ways to get text from images. ImageAnalyzer VNRecognizeRequest Based on some OCR tests, I'm seeing that the outputs from these two methods are different. Initially, I thought ImageAnalyzer was running VNRequestTextRecognitionLevel.fast because it's for Live Text, but the outputs from ImageAnalyzer are sometimes better than VNRequestTextRecognitionLevel.accurate. Is ImageAnalyzer running VNRequestTextRecognition in the background? Or if it isn't, what pipeline is it using to detect text?
1
2
1.3k
Aug ’26
Security architecture and asset protection for Apple-hosted Background Assets
We're evaluating Apple-hosted Background Assets for an app distributed on App Store and would like to understand the security model behind it before adopting it. So far the public documentation only mentions the HTTPS requirement for asset transport. We'd appreciate any additional documentation or guidance covering: How asset downloads are authenticated (e.g., is access tied to the app's entitlement/provisioning, or is there a separate token/credential mechanism?) How access to specific assets is controlled/scoped Where Apple-hosted assets are physically/logically hosted (e.g., is this CDN-backed, and is there any control or visibility over hosting region?) Any other security considerations typically associated with cloud-hosted content (encryption in transit and at rest, integrity verification, etc.) Is there a more detailed security/architecture document beyond the public developer documentation, or can someone from the team point us in the right direction?
1
1
365
Aug ’26
Multiple MFMessageComposeViewController
Does iOS support launching of 2 MFMessageComposeViewControllers back to back i.e without dismissing the previous one? We are integrating an SDK from a vendor who, inside the SDK is presenting the MFMessageComposeViewController 2 times back to back, and one of the MFMessageComposeViewController is getting dismissed but the other one doesn't, their standalone app does the same but it works there, not inside the SDK, Just wanted to know why the second MFMessageComposeViewController doesn't dismiss, or is it the correct approach to do so.
0
0
787
Aug ’26
PDFKit leaks a Vision document-analysis pipeline per rendered PDFDocument on iPadOS 26 – and `PDFView` already has the switch to stop it
On iPadOS 26, PDFKit runs VNRecognizeDocumentsRequest over the pages of a PDFDocument when those pages are rendered. The analysis pipelines are never released. Measured on an iPad Pro 12.9-inch 4th gen (iPad8,11), iPadOS 26.6, with a 61-page image-only scanned score: each newly-created-and-rendered PDFDocument costs about 2.7 OS threads and 20 MB, permanently. Repeatedly loading the same file from disk reached 153 threads and 1519 MB in under seven minutes, then died of an allocation failure. Nothing releases it: not replacing PDFView.document, not deallocating the PDFView entirely, not releasing the PDFDocument, and not time. With every code path in the app stopped, the thread count does not fall — it continues to rise. The stack -[PDFView visiblePagesChanged:] → +[PDFPageAnalyzerV2 analyzePage:withBox:requestTypes:] → -[VNImageRequestHandler performRequests:gatheredForensics:error:] → -[VNRecognizeDocumentsRequest internalPerformRevision:inContext:error:] → -[VNDetector processUsingQualityOfServiceClass:options:regionOfInterest:…] → -[VNControlledCapacityTasksQueue dispatchSyncByPreservingQueueCapacity:] Thread census at 1519 MB — 153 threads total, after 66 document loads: 66 PDFKit.PDFDocument.formFillingQueue 64 com.apple.VNRecognizeDocumentsRequestRevision1 10 ANEServicesThread 66 orphaned pipelines for 66 loads, all blocked on Vision's capacity limiter. The console also emits Invalid permutation index when reordering subregions. Index N must be less than number of subregions 1 continuously, with N increasing — and these keep arriving after all application activity has stopped. Isolation Each row is a separate run on the same device and OS, one variable changed. Counts are OS threads; baseline is 13. Configuration Result Page-stepping only on a stable document (~1000 visiblePagesChanged: events) No growth; footprint declines Recreating PDFThumbnailView on every load No growth Creating a PDFDocument and never rendering it No growth Creating + rendering, assigned to a PDFView +2.0 to +2.7 threads / +20 MB per load Creating + rendering, never assigned to any PDFView Same growth Creating + rendering, entire PDFView destroyed and rebuilt per load Same growth Two points worth drawing out: The leak occurs with no PDFView involved at all — plain PDFPage.thumbnail(of:for:) or PDFPage.draw(with:to:) on a freshly created document is sufficient. Destroying the PDFView releases nothing. Whatever retains the analyses outlives every object the application can reach. Also, for anyone who arrives here from the other PDFPageAnalyzerV2 threads: the usePageViewController(true, withViewOptions: nil) workaround does not help this. It reduces visiblePagesChanged: frequency, and page changes on a stable document leak nothing. The variable is newly rendered documents, not new pages. The switch already exists PDFView implements -setDocumentAnalysisEnabled: and -isDocumentAnalysisEnabled, plus -handleAnalysisCompletionOfPage:resultTypes:. None of these appear in any public header. With document analysis disabled, the leak disappears completely — 28 consecutive document loads with zero thread growth, and after stopping, the process released down to 6 threads and 64 MB, below its own idle baseline. It also suppresses the leak for documents never assigned to that PDFView, so whatever the flag gates is not scoped to a single view. For completeness, the per-page -setCandidateForOCR: / -setDidPerformOCR: accessors do not help: the writes land and read back correctly, and the analysis runs anyway. They appear to be state rather than policy. Request Either: Fix the leak — cancel and release analyses when the document or the view goes away; or Make documentAnalysisEnabled public on PDFView (or add an equivalent on PDFDocument). Ideally, please do both. The second costs Apple nothing: the property exists, it works, and it is exactly the control that is needed. Applications that render sheet music, engineering drawings, or any other content where document understanding provides no value are currently paying for it with unbounded memory growth and no supported way to decline. Filed as FB24211659. Happy to share the isolation harness with anyone from the PDFKit team. Related: 825803 (crash in PDFPageAnalyzerV2, FB22409977), 827781 (deadlock in the same class), 838272 / 837282 (PDFTileSurface over-release), 107007 (CGContextDrawPDFPage thread safety, open since 2018).
0
2
452
Aug ’26
Return journey from containing app back to original host
Question 1 (Return journey from containing app back to original host): Is there an alternative, supported method for a custom keyboard extension to launch its containing app such that when that containing app is later suspended/resigned, the system returns the user to the original host app (e.g., Notes) instead of the Home screen? Does iOS 26 provide any handoff/return APIs for the keyboard voice‑input scenario? Question 2 (Full‑access‑off persistence and settings navigation): (a) Is the shared app group container expected to be effectively read‑only (with EPERM) when Full Access is off? If so, is there any supported way to persist keyboard settings (that require writing to shared files) without Full Access? (b) What is the supported method for a keyboard extension to direct the user to Settings to enable Full Access on iOS 26, given that openURL via responder chain and extensionContext.open both fail? We are seeking a reliable, non‑private API approach.
1
0
548
Aug ’26
Bug: Correct ASSA File not fetched
How does iOS handle Associated Domains and AASA files when switching between environments? I have an iOS application that supports multiple environments (test and production). Each environment has its own domain and its own AASA file. We have an SDK that requires a domain during initialization. Based on the selected environment, we initialize the SDK with either the test domain or the production domain. We have configured the Associated Domains capability in Xcode with the required domains. However, i'm unclear about how iOS manages the AASA association in this scenario. For example: test.example.com Has its own AASA file. Used when the SDK is initialized with the test domain. example.com Has its own AASA file. Used when the SDK is initialized with the production domain. The SDK receives the domain during initialization, and we dynamically select the domain based on the environment configuration. The question is: If multiple domains are configured in Associated Domains, does iOS fetch and cache the AASA file for all configured domains when the app is installed, or only for the domain currently being used by the application? If the application switches the SDK configuration from the test domain to the production domain (or vice versa) after installation, how does iOS know that it needs to fetch the AASA file for the new domain? Is there any supported way to force iOS to re-fetch the AASA file for a newly selected associated domain? Trying to understand the correct approach for supporting multiple environments when the SDK domain is selected dynamically at runtime. If both test and production domains are configured in Associated Domains, how does iOS determine which AASA file should be used when the SDK is initialized with a specific domain (for example, test)? Does iOS fetch and validate both AASA files upfront and then check only the matching domain at runtime, or does it dynamically fetch/check only the domain provided to the SDK?
1
0
544
Aug ’26
iOS 26 Message Filter Extension not invoked after conversation is moved to Spam
We're seeing a behavior change with ILMessageFilterExtension on iOS 26 and would like to confirm whether this is expected or a regression. Environment iOS: 26.x Framework: IdentityLookup Extension type: ILMessageFilterExtension Behavior For a new sender: An incoming SMS arrives. handle(_:context:completion:) is invoked. The extension returns a classification. The conversation is moved to the Spam folder. Subsequent SMS messages in the same conversation are delivered to the Spam folder, but handle(_:context:completion:) is no longer invoked for any new messages. Expected behavior We expected the message filter extension to be invoked for every incoming SMS, regardless of the current conversation folder, allowing the extension to evaluate each message independently. Actual behavior Once the conversation is in the Spam folder, all subsequent messages bypass the extension completely. The extension receives no callback, making it impossible to: Re-evaluate new messages using updated filtering logic. Change the classification if sender reputation changes. Apply cloud-based or dynamic filtering policies on subsequent messages. Questions Is this behavior expected in iOS 26? Has the message filtering pipeline changed so that conversations already classified as Spam no longer invoke ILMessageFilterExtension? Is there any documented API or recommended approach to have the extension evaluate every incoming message for an existing Spam conversation? If this is not expected, is this a known issue? If anyone from Apple or other developers can confirm whether this is by design, it would be greatly appreciated.
1
0
814
Aug ’26
WeatherKit fails with WDSJWTAuthenticatorServiceListener.Errors Code=2
WeatherKit consistently fails with the following error: WDSJWTAuthenticatorServiceListener.Errors Code=2 This happens on a physical device regardless of the troubleshooting steps I try. After the error occurs, the app uses a third-party fallback provider successfully. The issue appears similar to failures reported by other developers on iOS 26, even though the WeatherKit entitlement and signing configuration seem valid. I have verified the following: • The signed application binary contains the WeatherKit entitlement. • The embedded provisioning profile contains the WeatherKit entitlement. • The application identifier and team identifier match the provisioning profile. • The WeatherKit capability was disabled, saved, enabled again, and saved. • Xcode automatic signing generated a new provisioning profile after resetting the capability. • The project was cleaned and a fresh build was installed on the physical device. • Both the application and the device were restarted. • Location permission is granted and the app receives valid coordinates. • Network connectivity works correctly. • A non-Apple fallback weather provider successfully returns a forecast for the same coordinates. Despite this, every WeatherKit request still fails with WDSJWTAuthenticatorServiceListener.Errors Code=2. Has anyone identified the cause of this error on iOS 17 or 26 or found an additional signing, entitlement, App ID, or provisioning step required to resolve it? Environment: • iOS version: iOS: 26.6 (23G71) • Xcode version: 26.5 • Device: iPhone 14 Pro • WeatherKit API used: WeatherService.shared • Distribution method:TestFlight
2
0
524
Aug ’26
Spotlight on finds title attribute (OS27 b3)
Hi, it seems that something in OS27b3 changed regarding Core Spotlight: Whatever I try, Siri and Spotlight only seem to find the text inside the title or displayName attribute. But attributes like textContent or contentDescription or keywords seem to be ignored. Those attributes are still found, when I do a manual search using CSUserQuery or using the AppEntityDefinition.spotlightQuery(_:) in App Intent Testing. I have already filed a Feedback – but wonder whether anyone else is having this issue? FB23635795 Thanks, Friedrich
Replies
4
Boosts
0
Views
1.1k
Activity
Aug ’26
AlarmKit alarm occasionally fires at exactly 12:00 AM
[FB22327481] We are observing a rare issue where alarms scheduled using AlarmKit occasionally fire exactly at 12:00 AM, even though the alarm was scheduled for a different time. This issue happens only for a very small number of users (for example, 1–2 users per several thousand per day), but multiple reports confirm that the alarm goes off exactly at midnight. We also found that other developers are experiencing the same issue: https://developer.apple.com/forums/thread/815714 Observed behavior For a small number of users: Alarm fires at exactly 00:00 (midnight) This happens even when the scheduled alarm time is something like 7:30 AM Happens rarely Hard to reproduce internally Appears to happen only on real devices in production Additional notes We are using AlarmKit fixed schedules (not relative) Dates passed to AlarmKit are correct at scheduling time We do not intentionally create midnight alarms Issue seems random Question Are there any known limitations or edge cases with AlarmKit fixed schedules that could cause alarms to fire at midnight? For example: Invalid date fallback? Schedule expiration fallback? Time zone changes? Background refresh timing? Maximum schedule window? Any guidance would be appreciated, as this is affecting real users but is difficult to reproduce.
Replies
5
Boosts
1
Views
1.2k
Activity
Aug ’26
App Clip card not shown for links in Messages despite passing every documented check
We ship an App Clip with our iOS app and want the App Clip card to appear when users share our website's links in Messages. Instead, recipients only get a plain link preview. The App Clip was approved and has been live on the App Store for over a week. We've verified every requirement from the docs ("Associating your App Clip with your website" and the Messages invocation requirements): The invocation page's server-rendered HTML (no JS needed) contains the meta tag: apple-itunes-app with app-id and app-clip-bundle-id set correctly. /.well-known/apple-app-site-association has an "appclips" section listing the clip's app ID, and Apple's AASA CDN (app-site-association.cdn-apple.com/a/v1/) serves the same content. The App Clip's entitlements include appclips: and the correct parent application identifier. Via the App Store Connect API, the currently live build contains the APP_CLIP build bundle, and the live version has a default App Clip experience (action OPEN, with localizations). The default experience link https://appclip.apple.com/id?p= returns 200 and shows the clip. Tested in Messages between two devices whose owners are in each other's contacts, in brand-new conversations, on current iOS. However, on-device App Clip diagnostics (Settings > Developer > App Clips Testing > Diagnostics) for the invocation URL show the "App Clip Published on App Store" and "Associated Domains" checks not passing, even though everything above is verified correct. ("No Advanced Experience registered" also appears, but as we understand it advanced experiences are only needed for QR/NFC/App Clip Codes, not Messages.) Has anyone seen device-side association fail like this when the server-side config is demonstrably correct? Is there a known propagation delay after releasing a new app version, or a way to force the device to refresh its App Clip association cache beyond rebooting? Any pointers on what the diagnostics tool checks that isn't covered by the list above would be appreciated.
Replies
1
Boosts
0
Views
388
Activity
Aug ’26
Callkit returns error code=106 which is not on official document
Callkit returns error code=106. I can't find what this error code means in official documents. What is this error code? Has anybody seen this error code so far? My app is VoIP app using APNs VoIP push. Below is log example of my app. 2026/04/26 09:01:45.752 [436:103]CallManager incomingCall(::::_:completion:):228: error Error Domain=com.apple.CallKit.error.incomingcall Code=106 "(null)"
Replies
1
Boosts
0
Views
579
Activity
Aug ’26
Quick Look no longer invokes third-party Markdown preview extensions on iOS 27
On iOS 26, Quick Look invokes an installed data-based Quick Look preview extension for .md files resolved as net.daringfireball.markdown, and the extension renders the Markdown correctly. On iOS 27, the same document and the same installed extension no longer work. Quick Look still resolves the file as net.daringfireball.markdown, but it does not invoke the extension and instead displays the raw Markdown source using the generic plain-text preview. The extension subclasses QLPreviewProvider, has QLIsDataBasedPreview enabled, and includes net.daringfireball.markdown in QLSupportedContentTypes. As a control, the same installed extension correctly launches and renders equivalent document content when it is presented through a custom Uniform Type Identifier. This confirms that the extension is embedded, installed, and otherwise invocable; the failure is specific to Quick Look's provider selection for Markdown on iOS 27. Reproduction: Install an app containing the data-based preview extension described above. On iOS 26, open an .md document in Quick Look and observe that the extension is launched and renders the Markdown. On iOS 27, open the same document with the same extension installed. I reproduced this through Files, although the issue concerns Quick Look provider selection rather than Files-specific behavior. Observe that the extension is not launched and the raw Markdown source is shown. Open an equivalent document registered with a custom content type supported by the same extension. Observe that Quick Look launches the extension and displays the rendered preview. The attached screenshots show the same Markdown case rendered by QuickMark on iOS 26 and falling back to plain text on iOS 27. Is there a supported way for a third-party preview extension to handle net.daringfireball.markdown on iOS 27, or is this an unintended provider-selection regression? Tested with iOS 27.0 (24A5408d) on an iPhone 17 Pro Max Simulator using Xcode 27.0 (27A5237l). Feedback filed as FB24481377.
Replies
1
Boosts
0
Views
157
Activity
Aug ’26
Live Caller ID Lookup Extension - No option in phone settings
iOS 18 (22A3354) will not offer a option in settings (> Apps > Phone) after calling openSettings to enable live caller id lookup extension. iPhone and MacBook are in the same network. The PIRService runs on MacBook and is reachable via iPhone Safari (via http://MacBookPro:8080/). Hummingbird print log: hb_method=GET hb_uri=/ [Hummingbird] Request. After deploying the application via Xcode to the iPhone no requests are printed in the terminal. The extension was added like documented and bundle id is also checked multiple times. issuerRequestUri in service-config.json is http://MacBookPro:8080/issue. As far as I can tell, everything has been set up in accordance with the Testing Live Caller ID instructions. Is there something missing?
Replies
10
Boosts
0
Views
2.6k
Activity
Aug ’26
iOS 26.2 RC DeviceActivityMonitor.eventDidReachThreshold regression?
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.
Replies
31
Boosts
8
Views
7.8k
Activity
Aug ’26
App Icon Does Not Update to the Latest Default Icon on Some iOS Devices After App Update
Environment Platform: iOS iOS versions tested: : 26.5.2, 26.5 Xcode: 26.3 Language: Swift UI framework: SwiftUI App distribution: App Store Device models tested: : iPhone 17, iPhone 16, iPhone 15 pro max, iPhone 17 pro max Issue We are experiencing an issue where the app icon does not update to the latest app icon after an app update on some devices. Initially, our app used Apple's alternate app icon functionality through setAlternateIconName to dynamically change the app icon. However, we observed that the alternate icon was not being updated correctly on some devices. As it was not working , we removed the alternate icon approach and changed the primary/default app icon in the application itself. We then submitted an updated app version with the new default icon. After updating the app, the new app icon is displayed correctly on some devices, but on some other devices the previous/old app icon continues to be displayed, even though the app has been successfully updated to the latest version. The issue appears to be device-specific, as the same app version can display the new icon on one device while continuing to display the old icon on another device. Expected Behavior After installing an app update containing a new default app icon, the new app icon should be displayed on the Home Screen and in relevant system locations such as Shortcuts. Actual Behavior On some devices, after successfully updating the application to the new version, the old app icon continues to be displayed. The application itself is updated successfully and launches normally. The issue is specifically with the icon displayed by the system. Steps to Reproduce Install an older version of the application containing the old app icon. Update the application to a newer version where the default/primary app icon has been changed. Verify that the application has been updated to the latest version. Return to the Home Screen. Observe the application icon. If applicable, check the application icon in the Shortcuts interface. Expected: The new app icon is displayed. Actual: On some devices, the previous app icon is still displayed. Additional Observations We observed different behaviors on affected devices: On one affected device, the old icon remained after the app update but changed to the new icon after restarting the device. On another affected device, the icon changed to the new icon after some time without reinstalling the application. However, on that device, the old icon continued to be displayed in the Shortcuts interface even after the Home Screen icon had changed to the new icon. Reinstalling the application causes the new icon to appear correctly. These observations make the behavior appear to be related to how iOS refreshes or caches application icons after an app update. Additional Information We initially attempted to use Apple's alternate app icon functionality through setAlternateIconName. The alternate icon approach did not update the icon consistently across all tested devices. We therefore changed the application's default/primary icon instead of relying on alternate icons. The issue still occurs on some devices even after changing the default app icon. The application itself functions normally after the update; only the displayed app icon remains unchanged on the affected devices. The issue appears to occur specifically with updating an existing installation rather than installing the application for the first time. Questions Is there any known iOS behavior where the previous Home Screen icon can remain cached after an app update? Is there a recommended way to ensure that iOS refreshes the Home Screen icon after changing the default app icon? Could this behavior be related to the previous use of alternate app icons through setAlternateIconName? Why might the Home Screen icon update after a restart or after some time while the icon shown in Shortcuts continues to display the previous icon? Are there any specific requirements for CFBundleIcons, asset catalogs, Info.plist, or other configuration that we should verify when changing the primary app icon? Is this a known issue on any specific iOS versions or device configurations? We would appreciate any guidance on whether this is expected iOS behavior, an icon caching issue, or if there is something specific we should change in our application configuration.
Replies
2
Boosts
0
Views
293
Activity
Aug ’26
iOS 27 Public Beta - CoreBluetooth disconnects during BLE credential send open command to access control readers
Hello Apple Developer Team, We are observing a BLE connectivity issue in our application BlueDiamond Mobile Elite after upgrading devices to iOS 27 Public Beta. Environment App: BlueDiamond Mobile Elite Platform: iOS 27 Public Beta Framework: CoreBluetooth Device Type: iPhone BLE Peripheral: Access control/BLE reader Testing Status: BLE scanning works correctly. Reader discovery works correctly. Connection establishment succeeds. Service and characteristic discovery complete successfully. Issue occurs during credential transmission. Problem Description After connecting to a BLE reader, our application sends mobile credentials to the reader using CoreBluetooth. The workflow is: Scan for BLE readers. Discover target reader. Connect to reader. Discover services and characteristics. Start credential transfer. BLE connection disconnects unexpectedly during or immediately after the credential write operation. The disconnect occurs before the credential transaction completes successfully. Observed Behavior BLE scanning is functioning normally on iOS 27 Public Beta. The reader is discovered without issues. Connection is established successfully. Credential provisioning/credential write operation triggers the problem. centralManager(_:didDisconnectPeripheral:error:) is invoked after the credential transfer attempt. The credential is not successfully delivered to the reader. Expected Behavior The BLE connection should remain active throughout the credential provisioning process and disconnect only after the transaction is completed or when explicitly terminated by the application. Additional Information The same credential issuance flow worked correctly on previous iOS versions. We have already addressed another iOS 27 compatibility issue related to QR code access by updating to Apple's recommended APIs. We are currently investigating whether the BLE disconnection is caused by: Changes in CoreBluetooth behavior in iOS 27 Public Beta. MTU/write packet handling. Write-with-response versus write-without-response behavior. Peripheral firmware compatibility. Credential payload size or transfer timing. Questions Are there any known CoreBluetooth regressions or behavior changes in iOS 27 Public Beta related to characteristic writes or BLE credential provisioning? Has anyone observed unexpected peripheral disconnects during write operations on iOS 27 Public Beta? Are there any recommended changes for applications performing secure credential transfers to BLE peripherals? Any guidance would be greatly appreciated.
Replies
1
Boosts
0
Views
1.3k
Activity
Aug ’26
DeclaredAgeRange API not triggering in regulated regions (Brazil, Utah) — Is it functioning in production?
Hi, We've implemented age assurance logic in our app using the DeclaredAgeRange framework to comply with regulations in Brazil (Digital ECA, effective March 17, 2026) and Utah (App Store Accountability Act, effective May 6, 2026). Our implementation calls AgeRangeService.shared.isEligibleForAgeFeatures on app launch to determine whether the current user is subject to age assurance requirements, and proceeds to call requestAgeRange(ageGates:) accordingly. However, after monitoring in production since the Brazil enforcement date, we've consistently observed isEligibleForAgeFeatures returning false for users in regulated regions, with no age range data being returned. What we'd like to clarify: Is isEligibleForAgeFeatures currently returning true for users in Brazil in production (not sandbox)? For Utah — given that HB 498 pushed the developer compliance deadline to May 6, 2027, will isEligibleForAgeFeatures reflect the original May 6, 2026 activation date or the revised 2027 date? Is there a known rollout schedule or gradual activation plan for these regions that would explain why the flag remains false even after the legal enforcement dates have passed? We've seen similar reports from other developers on these forums, so it seems this may be a widespread issue rather than an implementation problem on our end. Any official guidance on the current status of the API in regulated regions would be greatly appreciated. Thanks.
Replies
2
Boosts
2
Views
1.8k
Activity
Aug ’26
ImageAnalyzer running VNRecognizeTextRequest in the background?
Using VisionKit, there's two main ways to get text from images. ImageAnalyzer VNRecognizeRequest Based on some OCR tests, I'm seeing that the outputs from these two methods are different. Initially, I thought ImageAnalyzer was running VNRequestTextRecognitionLevel.fast because it's for Live Text, but the outputs from ImageAnalyzer are sometimes better than VNRequestTextRecognitionLevel.accurate. Is ImageAnalyzer running VNRequestTextRecognition in the background? Or if it isn't, what pipeline is it using to detect text?
Replies
1
Boosts
2
Views
1.3k
Activity
Aug ’26
Security architecture and asset protection for Apple-hosted Background Assets
We're evaluating Apple-hosted Background Assets for an app distributed on App Store and would like to understand the security model behind it before adopting it. So far the public documentation only mentions the HTTPS requirement for asset transport. We'd appreciate any additional documentation or guidance covering: How asset downloads are authenticated (e.g., is access tied to the app's entitlement/provisioning, or is there a separate token/credential mechanism?) How access to specific assets is controlled/scoped Where Apple-hosted assets are physically/logically hosted (e.g., is this CDN-backed, and is there any control or visibility over hosting region?) Any other security considerations typically associated with cloud-hosted content (encryption in transit and at rest, integrity verification, etc.) Is there a more detailed security/architecture document beyond the public developer documentation, or can someone from the team point us in the right direction?
Replies
1
Boosts
1
Views
365
Activity
Aug ’26
Multiple MFMessageComposeViewController
Does iOS support launching of 2 MFMessageComposeViewControllers back to back i.e without dismissing the previous one? We are integrating an SDK from a vendor who, inside the SDK is presenting the MFMessageComposeViewController 2 times back to back, and one of the MFMessageComposeViewController is getting dismissed but the other one doesn't, their standalone app does the same but it works there, not inside the SDK, Just wanted to know why the second MFMessageComposeViewController doesn't dismiss, or is it the correct approach to do so.
Replies
0
Boosts
0
Views
787
Activity
Aug ’26
PDFKit leaks a Vision document-analysis pipeline per rendered PDFDocument on iPadOS 26 – and `PDFView` already has the switch to stop it
On iPadOS 26, PDFKit runs VNRecognizeDocumentsRequest over the pages of a PDFDocument when those pages are rendered. The analysis pipelines are never released. Measured on an iPad Pro 12.9-inch 4th gen (iPad8,11), iPadOS 26.6, with a 61-page image-only scanned score: each newly-created-and-rendered PDFDocument costs about 2.7 OS threads and 20 MB, permanently. Repeatedly loading the same file from disk reached 153 threads and 1519 MB in under seven minutes, then died of an allocation failure. Nothing releases it: not replacing PDFView.document, not deallocating the PDFView entirely, not releasing the PDFDocument, and not time. With every code path in the app stopped, the thread count does not fall — it continues to rise. The stack -[PDFView visiblePagesChanged:] → +[PDFPageAnalyzerV2 analyzePage:withBox:requestTypes:] → -[VNImageRequestHandler performRequests:gatheredForensics:error:] → -[VNRecognizeDocumentsRequest internalPerformRevision:inContext:error:] → -[VNDetector processUsingQualityOfServiceClass:options:regionOfInterest:…] → -[VNControlledCapacityTasksQueue dispatchSyncByPreservingQueueCapacity:] Thread census at 1519 MB — 153 threads total, after 66 document loads: 66 PDFKit.PDFDocument.formFillingQueue 64 com.apple.VNRecognizeDocumentsRequestRevision1 10 ANEServicesThread 66 orphaned pipelines for 66 loads, all blocked on Vision's capacity limiter. The console also emits Invalid permutation index when reordering subregions. Index N must be less than number of subregions 1 continuously, with N increasing — and these keep arriving after all application activity has stopped. Isolation Each row is a separate run on the same device and OS, one variable changed. Counts are OS threads; baseline is 13. Configuration Result Page-stepping only on a stable document (~1000 visiblePagesChanged: events) No growth; footprint declines Recreating PDFThumbnailView on every load No growth Creating a PDFDocument and never rendering it No growth Creating + rendering, assigned to a PDFView +2.0 to +2.7 threads / +20 MB per load Creating + rendering, never assigned to any PDFView Same growth Creating + rendering, entire PDFView destroyed and rebuilt per load Same growth Two points worth drawing out: The leak occurs with no PDFView involved at all — plain PDFPage.thumbnail(of:for:) or PDFPage.draw(with:to:) on a freshly created document is sufficient. Destroying the PDFView releases nothing. Whatever retains the analyses outlives every object the application can reach. Also, for anyone who arrives here from the other PDFPageAnalyzerV2 threads: the usePageViewController(true, withViewOptions: nil) workaround does not help this. It reduces visiblePagesChanged: frequency, and page changes on a stable document leak nothing. The variable is newly rendered documents, not new pages. The switch already exists PDFView implements -setDocumentAnalysisEnabled: and -isDocumentAnalysisEnabled, plus -handleAnalysisCompletionOfPage:resultTypes:. None of these appear in any public header. With document analysis disabled, the leak disappears completely — 28 consecutive document loads with zero thread growth, and after stopping, the process released down to 6 threads and 64 MB, below its own idle baseline. It also suppresses the leak for documents never assigned to that PDFView, so whatever the flag gates is not scoped to a single view. For completeness, the per-page -setCandidateForOCR: / -setDidPerformOCR: accessors do not help: the writes land and read back correctly, and the analysis runs anyway. They appear to be state rather than policy. Request Either: Fix the leak — cancel and release analyses when the document or the view goes away; or Make documentAnalysisEnabled public on PDFView (or add an equivalent on PDFDocument). Ideally, please do both. The second costs Apple nothing: the property exists, it works, and it is exactly the control that is needed. Applications that render sheet music, engineering drawings, or any other content where document understanding provides no value are currently paying for it with unbounded memory growth and no supported way to decline. Filed as FB24211659. Happy to share the isolation harness with anyone from the PDFKit team. Related: 825803 (crash in PDFPageAnalyzerV2, FB22409977), 827781 (deadlock in the same class), 838272 / 837282 (PDFTileSurface over-release), 107007 (CGContextDrawPDFPage thread safety, open since 2018).
Replies
0
Boosts
2
Views
452
Activity
Aug ’26
Return journey from containing app back to original host
Question 1 (Return journey from containing app back to original host): Is there an alternative, supported method for a custom keyboard extension to launch its containing app such that when that containing app is later suspended/resigned, the system returns the user to the original host app (e.g., Notes) instead of the Home screen? Does iOS 26 provide any handoff/return APIs for the keyboard voice‑input scenario? Question 2 (Full‑access‑off persistence and settings navigation): (a) Is the shared app group container expected to be effectively read‑only (with EPERM) when Full Access is off? If so, is there any supported way to persist keyboard settings (that require writing to shared files) without Full Access? (b) What is the supported method for a keyboard extension to direct the user to Settings to enable Full Access on iOS 26, given that openURL via responder chain and extensionContext.open both fail? We are seeking a reliable, non‑private API approach.
Replies
1
Boosts
0
Views
548
Activity
Aug ’26
Bug: Correct ASSA File not fetched
How does iOS handle Associated Domains and AASA files when switching between environments? I have an iOS application that supports multiple environments (test and production). Each environment has its own domain and its own AASA file. We have an SDK that requires a domain during initialization. Based on the selected environment, we initialize the SDK with either the test domain or the production domain. We have configured the Associated Domains capability in Xcode with the required domains. However, i'm unclear about how iOS manages the AASA association in this scenario. For example: test.example.com Has its own AASA file. Used when the SDK is initialized with the test domain. example.com Has its own AASA file. Used when the SDK is initialized with the production domain. The SDK receives the domain during initialization, and we dynamically select the domain based on the environment configuration. The question is: If multiple domains are configured in Associated Domains, does iOS fetch and cache the AASA file for all configured domains when the app is installed, or only for the domain currently being used by the application? If the application switches the SDK configuration from the test domain to the production domain (or vice versa) after installation, how does iOS know that it needs to fetch the AASA file for the new domain? Is there any supported way to force iOS to re-fetch the AASA file for a newly selected associated domain? Trying to understand the correct approach for supporting multiple environments when the SDK domain is selected dynamically at runtime. If both test and production domains are configured in Associated Domains, how does iOS determine which AASA file should be used when the SDK is initialized with a specific domain (for example, test)? Does iOS fetch and validate both AASA files upfront and then check only the matching domain at runtime, or does it dynamically fetch/check only the domain provided to the SDK?
Replies
1
Boosts
0
Views
544
Activity
Aug ’26
iOS 26 Message Filter Extension not invoked after conversation is moved to Spam
We're seeing a behavior change with ILMessageFilterExtension on iOS 26 and would like to confirm whether this is expected or a regression. Environment iOS: 26.x Framework: IdentityLookup Extension type: ILMessageFilterExtension Behavior For a new sender: An incoming SMS arrives. handle(_:context:completion:) is invoked. The extension returns a classification. The conversation is moved to the Spam folder. Subsequent SMS messages in the same conversation are delivered to the Spam folder, but handle(_:context:completion:) is no longer invoked for any new messages. Expected behavior We expected the message filter extension to be invoked for every incoming SMS, regardless of the current conversation folder, allowing the extension to evaluate each message independently. Actual behavior Once the conversation is in the Spam folder, all subsequent messages bypass the extension completely. The extension receives no callback, making it impossible to: Re-evaluate new messages using updated filtering logic. Change the classification if sender reputation changes. Apply cloud-based or dynamic filtering policies on subsequent messages. Questions Is this behavior expected in iOS 26? Has the message filtering pipeline changed so that conversations already classified as Spam no longer invoke ILMessageFilterExtension? Is there any documented API or recommended approach to have the extension evaluate every incoming message for an existing Spam conversation? If this is not expected, is this a known issue? If anyone from Apple or other developers can confirm whether this is by design, it would be greatly appreciated.
Replies
1
Boosts
0
Views
814
Activity
Aug ’26
WeatherKit fails with WDSJWTAuthenticatorServiceListener.Errors Code=2
WeatherKit consistently fails with the following error: WDSJWTAuthenticatorServiceListener.Errors Code=2 This happens on a physical device regardless of the troubleshooting steps I try. After the error occurs, the app uses a third-party fallback provider successfully. The issue appears similar to failures reported by other developers on iOS 26, even though the WeatherKit entitlement and signing configuration seem valid. I have verified the following: • The signed application binary contains the WeatherKit entitlement. • The embedded provisioning profile contains the WeatherKit entitlement. • The application identifier and team identifier match the provisioning profile. • The WeatherKit capability was disabled, saved, enabled again, and saved. • Xcode automatic signing generated a new provisioning profile after resetting the capability. • The project was cleaned and a fresh build was installed on the physical device. • Both the application and the device were restarted. • Location permission is granted and the app receives valid coordinates. • Network connectivity works correctly. • A non-Apple fallback weather provider successfully returns a forecast for the same coordinates. Despite this, every WeatherKit request still fails with WDSJWTAuthenticatorServiceListener.Errors Code=2. Has anyone identified the cause of this error on iOS 17 or 26 or found an additional signing, entitlement, App ID, or provisioning step required to resolve it? Environment: • iOS version: iOS: 26.6 (23G71) • Xcode version: 26.5 • Device: iPhone 14 Pro • WeatherKit API used: WeatherService.shared • Distribution method:TestFlight
Replies
2
Boosts
0
Views
524
Activity
Aug ’26