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

Supported ways to intervene on app-open and on a schedule (non-blocking) — Screen Time / Shortcuts
I'm building a consumer iOS app that helps users be more intentional about opening distracting apps. It never hard-blocks; it only nudges. I have Family Controls (Distribution) approved and a working TestFlight build using FamilyControls / DeviceActivity / ManagedSettings. I've confirmed from testing and the forums that: ShieldActionResponse is only .none / .defer / .close (no supported way to open my main app from the shield extension — threads 719905, 793060). ShieldConfiguration is a static snapshot (no countdown/animation; FB14237883). DeviceActivityMonitor events are threshold/schedule based and cannot hook "the app was just opened," and on iOS 26 eventDidReachThreshold fires immediately/incorrectly (thread 808470). I'd like to confirm the supported approaches for these UX patterns (each = every-app-open vs on-a-schedule): On app open, present my own full-screen UI (a brief non-blocking "pause") without requiring the user to manually create a Shortcuts personal automation. Is there any supported API for this, or is a user-created Shortcuts automation the officially recommended path? On app open, deliver a local notification (rather than UI) — supported only via a user-created Shortcuts automation, or is there another way? On a schedule / at fixed intervals, automatically bring my app's UI to the foreground (e.g., re-show a screen every N minutes) — I believe this is not allowed (apps can't self-foreground); can you confirm, and is a user-tapped notification the only path? On a schedule / at fixed intervals, send repeating local notifications while a usage limit is exceeded — given the iOS 26 eventDidReachThreshold regression, what's the recommended way to reliably detect "over limit" and drive repeating reminders? Some third-party apps appear to open their main app from a shield/monitor context. Is there any supported mechanism enabling that which I may have missed? I'd rather build on a supported path than risk anything review-sensitive. Guidance (or where to file an enhancement request) is appreciated. Thank you.
1
0
244
3w
CallKit Call Directory database corruption (sqlite Code 11)
Hi everyone, I’ve filed a Feedback report (FB20986470) for a serious issue affecting the Call Directory database when add phone numbers for call blocking. When adding blocking numbers to a Call Directory extension, the system’s CallKit database (/private/var/mobile/Library/CallDirectory/CallDirectory.db) becomes corrupted. The reload call (reloadExtensionWithIdentifier) fails with error code 11 when the system tries to insert blocking entries, and the Console app on macOS shows the following errors: database corruption page 2265525 of /private/var/mobile/Library/CallDirectory/CallDirectory.db at line 81343 of [f0ca7bba1c] database corruption at line 79387 of [f0ca7bba1c] Error Domain=com.apple.callkit.database.sqlite Code=11 "sqlite3_step for query 'INSERT INTO PhoneNumberBlockingEntry (extension_id, phone_number_id) VALUES (?, (SELECT id FROM PhoneNumber WHERE (number = ?))), (?, (SELECT id FROM PhoneNumber WHERE (number = ?))),...)'" After this happens, CallKit becomes fully corrupted on the device and no further numbers can be added, even after: Disabling and re-enabling the extension Restarting the device (either force or soft restart) Reinstalling the app Waiting for a couple of minutes after this issue happens (that CallKit could possibly self-recovered) I also tested other call-blocking apps, and they all fail with the same error. The only thing that recovers the system is a full “Reset All Settings.” This issue has been reported by many users of my app, across multiple iOS versions and devices. Similar related issue reported by another developer: https://developer.apple.com/forums/thread/806129 Steps to Reproduce: Enable the Call Directory extension from a call-blocking app. Add and reload blocking numbers (a few thousand entries). Perform multiple reloads between additions. Check the Console, the corruption errors appear. From this point, all insert attempts fail system-wide. Expected Result: Entries should be inserted successfully, or the system should self-recover without persistent corruption. Actual Result: sqlite3_step fails with Code=11, and the Call Directory database remains corrupted until the user resets all settings. Additional Notes: All numbers are sorted and deduplicated before insertion. Happens intermittently after multiple reloads. The system log always shows internal database failure. Environment: Device: iPhone 16 Plus iOS 18.2 Beta (23C5027f) Xcode 16.1 (17B55) Attachments (included in Feedback FB20986470): sysdiagnose captured immediately after the failure (with Phone app General Profile) It seems like a system-level corruption affecting all Call Directory extensions once it occurs.
11
3
1.3k
3w
Bug (?) in Share Extension activation with max count
I have been implementing a share extension for my app and have added the activation rule NSExtensionActivationSupportsImageWithMaxCount. While testing I've noticed that my app will appear in the Share Sheet as a viable target when the max count is exceeded by up to 2 additional photos. For example if I set max to 4 then my app will appear in the share sheet when the user is sharing 1-6 images. On its own this wouldn't be too problematic, I figured I could put some validation in the extension that specifies the user has exceeded the allowed number. But while debugging the extension under this scenario I noticed that the inputItems array on the NSExtensionContext will only contain the number of items I've defined as the max, and silently drop the extra items. I'm sure users will see this as a bug with my app "losing" the extra images since the OS/Share Sheet provides my app as a valid target. My entire Info.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>NSExtensionAttributes</key> <dict> <key>NSExtensionActivationRule</key> <dict> <key>NSExtensionActivationSupportsWebURLWithMaxCount</key> <integer>1</integer> <key>NSExtensionActivationSupportsImageWithMaxCount</key> <integer>4</integer> </dict> </dict> <key>NSExtensionPointIdentifier</key> <string>com.apple.share-services</string> <key>NSExtensionPrincipalClass</key> <string>$(PRODUCT_MODULE_NAME).ShareViewController</string> </dict> </plist> Entire code implementation of the extension class ShareViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() if let extensionContext { debugPrint(extensionContext) } } } Edit: I've been testing on iOS 26.5 with a minimum deployment of iOS 26.0
0
0
267
3w
iOS 26.4 asks for Face ID instead of Screen Time passcode when disabling Screen Time access for an app
On iOS 26.4, I set a Screen Time passcode. However, when I go to Settings > Apps > [Our App] and turn off Screen Time Access for the app, the system asks for Face ID instead of the Screen Time passcode. As a result, Screen Time access can be disabled without entering the Screen Time passcode. Steps to Reproduce 1. Set a Screen Time passcode on iOS 26.4. 2. Open Settings > Apps > [Our App]. 3. Turn off Screen Time Access for the app. Expected Result The system should require the Screen Time passcode before allowing Screen Time access to be disabled. Actual Result The system asks for Face ID instead of the Screen Time passcode, and Screen Time access is disabled.
12
3
1.6k
3w
[MailKit] MEMessageSecurityHandler primaryActionClicked crashes Mail when completionHandler called with nil
I'm working on a MailKit extension and I'm getting a full Mail crash every time I click the Primary Action button in my message banner. I have filed a feedback: FB22513160 Apple's own unsubscribe banner successfully presents a confirmation modal when its primary action is clicked, demonstrating that this flow is intended to work. That behavior does not appear to be accessible to third-party extensions via the documented EMessageSecurityHandler API. Or if it is and I'm missing something, I'd love to know. Thanks!
3
1
395
3w
Can I declare my Share Extension can activate with an infinite number of images?
I am writing a share extension for my app so users can share images from other apps. I have added the NSExtensionActivationSupportsImageWithMaxCount key to the NSExtensionActivationRule dictionary but I am wondering if there is a way to define the activation rule to say I will accept any number of images, and not have it constrained by a maximum value. Looking at the documentation I've noticed that attachments seem to be the only option that defines a minimum count (NSExtensionActivationSupportsAttachmentsWithMinCount). Is there an undocumented equivalent for images or some particular combination to use? I know I could set the max to be some very high number like 999, but I'm just wondering if there is an "official" supported way to achieve a min count defined on the extensions rules.
0
0
268
3w
Can LPLinkMetadata be accessed from NSExtensionContext for my share extension
In the WWDC19 session "Embedding and Sharing Visually Rich Links" it mentions how the Messages app is able to gain access to the LPLinkMetadata provided to the Share Sheet (direct time link) so that it does not have to load the metadata itself. Looking through the NSExtensionContext's inputItems in my share extension and I could not see anything obvious that would allow my own share extension to read the loaded metadata. Am I missing something or is the metadata not made available? To be clear, I am aware of how to use LPMetadataProvider to fetch the metadata. I just want to know if my share extension can make use of the metadata that the Share Sheet has already loaded.
0
0
297
3w
DeviceActivityReport: visible per-app list updates, but aggregate total for same selection lags
Hi, I’m using FamilyControls + DeviceActivity. Users select apps/categories/web domains via FamilyActivitySelection. I need to show today’s total usage for that selected group only, not the device’s full Screen Time. Setup: A visible DeviceActivityReport shows today’s per-app list with a daily DeviceActivityFilter for the selected tokens. This visible list is usually accurate and updates quickly. A separate hidden DeviceActivityReport uses the same filter to compute an aggregate total by summing app.totalActivityDuration in makeConfiguration(representing:). The extension sends that total to the main app via notify_set_state + Darwin notification. DeviceActivityMonitor is only used as a fallback. Problem: The visible app list stays current, but the aggregate total for the same selected apps sometimes lags by several minutes or updates only after new selected-app usage occurs. Sometimes the total appears temporarily frozen while the app list still looks correct. Questions: Is a hidden DeviceActivityReport a supported way to compute a selected-app aggregate total? Is makeConfiguration expected to run often enough for a near-live total? Why would the visible per-app report update while a hidden report with the same filter does not? What is the recommended architecture for a reliable, non-inflated today total for selected apps only? Thanks!
0
0
237
3w
Connection problems between Xcode and Apple Watch
Hello! As I try to use Xcode (has happened in versions 16 and 26) and my Apple Watch (has happened with Series 6 and 10), the Devices and Simulators window reports problems connecting to the Watch. Messages vary from "Connecting to Apple Watch" to "Waiting to reconnect: Previous preparation error: the tunnel connection failed while the system tried to connect to the device; client unable to receive tunnel handshake response", or "Apple Watch may need to be unlocked to recover from previously reported preparation errors. Ensure the device is unlocked and near this Mac for better connection quality." The Watch was operational, and on my wrist, so it was unlocked. Any suggestions on how to move beyond this? Thank you!
6
2
507
3w
App Clip default invocation URL requires two taps to launch (first tap unresponsive) in Safari and Notes
I would like to clarify the expected behavior of a default App Clip link regarding tap responsiveness. Issue: When I tap the default App Clip invocation URL in Safari or the Notes app, the first tap does not respond (no App Clip card appears). Only the second tap successfully presents the App Clip card. Steps to Reproduce: Place the default App Clip URL in Safari (or Notes app) Tap the link once → no App Clip card appears Tap the same link again → App Clip card appears as expected Environment: Invocation source: Safari / Notes app App Clip type: Default App Clip experience (appclip.apple.com URL) Observation: This issue reliably occurs when there is no cached App Clip metadata on the device. When the metadata is already cached, the App Clip card appears on the first tap as expected. What I've already checked: Not in Private Browsing mode Question: Is this the expected behavior? Is there a recommended way to make the first tap reliably present the App Clip card even without a pre-existing cache? Thank you for your assistance.
1
0
355
3w
iPadOS 26 — Apple Pencil (Scribble) produces garbled, accented gibberish when handwriting into some text fields
On iPadOS 26.x, multiple users of our iPad app report that handwriting English words with Apple Pencil (Scribble) into a text field produces garbled output full of accented / non‑English characters instead of the English letters they wrote. Example of what shows up when a user handwrites a normal English word: -4ęśïćïá. Those accented letters (Polish / Spanish / French‑style diacritics: ę ś ï ć á) are not what the user wrote. Key facts from the reports Happens only on iPadOS 26.x — not seen on earlier iPadOS versions. Happens only with Apple Pencil / Scribble handwriting. Typing into the same field with the on‑screen keyboard is fine. The same users say Scribble works normally in other apps. The affected field is restricted to English‑only input; when that English‑only restriction is turned off, Scribble recognizes the handwriting correctly again. So the trigger appears to be Scribble writing into an English‑restricted field on iPadOS 26. No third‑party keyboards or input methods are involved. Steps (as reported by users) iPad on iPadOS 26.x with an Apple Pencil. Open the spelling/answer screen that has an English‑only input field. Handwrite an English word with the Pencil. The field fills with accented gibberish instead of the word. Question Is this a known iPadOS 26 Scribble regression? Is anyone else seeing garbled / accented output when Scribble writes into an English‑restricted text field? Any workaround short of removing the English‑only restriction? Environment Multiple end users, all on iPadOS 26.x (exact builds / iPad models being collected). I'm the developer and haven't been able to reproduce locally yet, so this is based on user reports.
0
0
273
3w
Managed Background Assets: Limit & Compatibility
Hello, We are currently developing a macOS application and evaluating Managed Background Assets for delivering additional downloadable content. Our preference is to rely on Apple-hosted asset delivery as much as possible, rather than maintaining a separate CDN or server infrastructure. While reviewing the documentation and forum discussions, we found a few areas that are still unclear and would appreciate your guidance. 1. Scope of the 200GB Apple-hosted asset pack limit Some documentation and discussions seem to describe the 200GB limit as applying per Apple Developer Program team/account, while others suggest it is a per-app bundle limit. Could you clarify the exact scope of this limit? Is the 200GB quota applied per individual app bundle ID? Or is it shared across all apps under the same Apple Developer Program account? References: [LINK1] [LINK2] [LINK3] 2. Storage expansion and hybrid hosting Are there any plans to expand the Apple-hosted asset pack limits in the future, or is there an official process to request additional hosting capacity? If an app eventually exceeds the Apple-hosted limit, is it acceptable or technically possible to use a hybrid approach (i.e., using Apple hosting for some assets while self-hosting the rest)? 3. Recommended strategy for older macOS versions As we understand, Managed Background Assets are only available starting from newer OS releases. However, our application also supports older macOS versions, and we would ideally like to avoid maintaining a completely separate asset delivery backend for them. From Apple’s perspective, what is the recommended strategy in this situation? Is it expected that developers continue using Unmanaged Background Assets for older OS compatibility? Is it acceptable to support Managed Background Assets only on newer systems, while older OS versions simply do not receive the same downloadable-content functionality? Or is there another recommended migration/compatibility approach for apps supporting both newer and older macOS versions? Thank you in advance for your clarification!
2
0
481
3w
ODR Legacy Technology Issues
Hello, We are currently evaluating ways to reduce the app size of the my App. The app contains approximately 200~250 MB of bundled static resources, and we are considering converting these resources into On-Demand Resources(ODR) in order to reduce the initial download and installation size of the app. However, we noticed that ODR is currently marked by Apple as a Legacy Technology. Since we would like these resources to continue being hosted and distributed through Apple CDN / App Store infrastructure, the first alternative we considered is Managed Background Assets, rather than regular Background Assets. We understand that regular Background Assets are available on iOS 16 and later, but they mainly address background download scheduling for apps. What we are specifically looking for is the resource hosting and distribution capability, similar to ODR, where assets can be hosted and delivered through Apple’s infrastructure. This is why we are considering Managed Background Assets. However, my App currently supports devices starting from iOS 14, while the key capabilities of Managed Background Assets require newer iOS versions. As a result, this solution cannot fully cover users who are still on older iOS versions, such as iOS 14 through iOS 18. Given this background, we would like to ask Apple the following questions: Does Apple have any plan to discontinue ODR-related services in the future, especially the App Store-hosted ODR asset download service? If the ODR service is changed or discontinued in the future, would it affect already released App Store apps that rely on ODR asset downloads on older iOS versions? For apps that still need to support iOS 14 and later, while also relying on Apple CDN / App Store infrastructure for resource hosting and distribution, does Apple still recommend using ODR? For apps that cannot immediately raise their minimum supported iOS version to the version required by Managed Background Assets, is there a recommended transition strategy? If ODR services are discontinued in the future, will Apple provide an alternative resource distribution solution that supports older iOS versions, or would developers need to build and maintain their own resource hosting and download system? We would like to better understand the long-term availability and potential risks of using ODR on older iOS versions, so that we can make an appropriate decision for future app size reduction and asset delivery in the App. Thank you.
1
0
345
3w
Inquiry regarding MetricKit cpuExceptionDiagnostics timestamps, totalSampledTime, and app status
Dear Apple Developer Support Team, I am writing to seek clarification on the timeline behavior and app status associated with the MetricKit cpuExceptionDiagnostics payload. In a recent diagnostic log collected from production, we observed the following values: timeStampBegin: "2026-07-07 10:37:00" timeStampEnd: "2026-07-07 10:37:00" totalSampledTime: "168 sec" Since both timeStampBegin and timeStampEnd share the exact same second (10:37:00), but the totalSampledTime indicates a continuous sampling duration of 168 seconds, we are having trouble accurately correlating this incident with our internal server logs. Could you please clarify the following questions: What exactly does the timestamp "2026-07-07 10:37:00" represent? Is it the sampling start time, the sampling end time, or the moment the diagnostic log was generated/written by the system? If "2026-07-07 10:37:00" represents the log generation time (or the moment the exception was triggered), how should we determine the actual start and end times of the 168-second sampling window? For instance, does it mean the sampling occurred strictly before this timestamp (from 10:34:12 to 10:37:00), or is there a different calculation method? Does a cpuExceptionDiagnostics event imply that the app crashed or was terminated by the OS? Or is it merely a non-fatal telemetry log capturing heavy CPU usage/resource limit violations while the app remained running? Understanding the precise timeline and lifecycle impact of MetricKit diagnostics is crucial for us to correlate client-side resource issues with backend performance and user activities. Thank you for your time and guidance. Best regards
0
0
264
4w
ShareLink with custom UT type not opening in my app
Hey all, my first time posting on these forums as I've finally become completely stumped. I'm working to implement a ShareLink to share data between users on my app, and have gotten pretty far (file saves, sends correctly), but am having significant issues getting the link to open in my app when sharing by email and not getting any action at all when tapping a shared link in iMessage. I'll go through my setup below: I have declared my new UTType, and created my new model which conforms to transferable here: struct transferTemplate: Codable { var id: UUID = UUID() var name: String = "TempName" var words: [String] = ["word1","word2"] } extension transferTemplate: Transferable { static var transferRepresentation: some TransferRepresentation { CodableRepresentation(contentType: .oltemplate) } } extension UTType { static var oltemplate: UTType { UTType(exportedAs: "com.overloadapp.oltemplate") } } I have declared the document type in my info.plist: <key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeName</key> <string>Template Session</string> <key>LSHandlerRank</key> <string>Owner</string> <key>LSItemContentTypes</key> <array> <string>com.overloadapp.oltemplate</string> </array> </dict> </array> I have declared the Exported Type Identifier: <key>UTExportedTypeDeclarations</key> <array> <dict> <key>UTTypeConformsTo</key> <array> <string>public.json</string> </array> <key>UTTypeDescription</key> <string>Template Session</string> <key>UTTypeIconFiles</key> <array/> <key>UTTypeIdentifier</key> <string>com.overloadapp.oltemplate</string> <key>UTTypeTagSpecification</key> <dict> <key>public.filename-extension</key> <array> <string>oltemplate</string> </array> <key>public.mime-type</key> <array> <string>application/json</string> </array> </dict> </dict> </array> I've also included the "LSSupportsOpeningDocumentsInPlace" boolean to True in the PLIST. My physical ShareLink setup is: @State private var transferred: transferTemplate = transferTemplate(name: "NameTemplate", words: ["One","Two"]) ... ShareLink(item: transferred, preview: SharePreview("Share your template", image: Image("tanLogo"))) Heres where the above code gets you: ShareLink brings up the share sheet and allows you to send the file (with the .oltemplate file extension). Sharing via iMessage will send a file, but within iMessage, the file cannot be opened at all. By email, the file can be opened but does not show any information. If you open the ShareSheet within the email attachment, you can manually choose to open the file in my app. If the file is saved to "Files", it will open my app when it is tapped (work as intended). Heres what I have tried to fix this: Modifying the Exported File Type "Conforms to" value. Ive used public.data, public.text, public.json. Including and not including the mime type I've scoured forums trying to solve this issue, and it doesn't seem like there is a clear cut solution for this issue. I appreciate any help you can provide! Please let me know if I can include any more helpful information.
1
1
1.6k
4w
Swift thread continuation crash when calling isEligibleForAgeFeatures
Hi, We’ve been observing crashes when calling “try await DeclaredAgeRange.AgeRangeService.shared.isEligibleForAgeFeatures”. Our crash logs show a “suspend resume partial function” crash from libswift_Concurrency.dylib swift::runJobInEstablishedExecutorContext. Based on our analysis, this is because once Apple’s eligibility check completes, it attempts to resume the Swift task continuation directly on its own internal background thread instead of yielding back to the Swift cooperative thread pool. Because the caller task inherits @MainActor isolation (due to a UIViewController being passed into our pipeline further up as it’s needed for requestAgeRange), the Swift runtime crashes when trying to reconcile the @MainActor context on Apple's foreign background thread. Has anyone encountered this and found a fix, and is this a known issue? Thanks!
1
0
259
4w
[iOS 17.1.1 issue] MSMessageLiveLayout not rendering after MSMessagesAppViewController.willBecomeActive in iOS 17.1.1
Hello dear community, I have an iMessage extension running perfectly on iOS 16.4, but on 17.0.1 and 17.1.1 it's having real issues. Messaging in iMessage on the iOS 17.0.1 simulator isn't working at all. MSMessageLiveLayout works perfectly on iOS 16.4, but on iOS 17.1.1 (physical iPhone 15, 14, 13, 12, SE 2020) the MSMessagesAppViewController won't render after didStartSending and subsequent willBecomeActive. The iPhones will just show "Loading...". I debugged through it, couldn't find any issues and works perfectly fine on iOS 16.4 both in the simulator and on a physical device. I'm debugging through the physical devices with XCode, but couldn't find any root cause on why. Has anyone experienced similar issues with MSMessagesAppViewController in iOS 17.1.1? Any ideas on how to fix this? Thanks, Jan
3
1
919
4w
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
2
0
356
Jul ’26
App Group data sharing does not work sometimes between HostApp and Service extension.
Hi There, My app is a legacy project built with Objective C. The host app shared data with the service extension by using NSUserDefaults *userDefault = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.myapp.project"]; and it worked until a customer recently reported a bug (iOS 18.6). After debugging, I found that data sharing from the host app to the service extension was not working correctly. The host app updated a field's value, but the service still used the old or stale value, causing the issue. HostApp saved info 2026-06-01 13:44:07.020 [INFO] (VMP)(ThreadID: 0x10a85c000): "Saved Vomo information { "EXT_AP_IP" = 1c28af0f9d73; "EXT_PING_DND" = 0; "EXT_PING_USER_NAME" = aaa08AA541F8; "EXT_SERIAL_ACK_TIME" = "2026-06-01 20:44:07 +0000"; "EXT_SERIAL_NO" = 689; "EXT_SERVER_NAME" = "10.xxx.xxx.182"; "EXT_VOICE_LOGIN" = 1; }" Service extension read value: 2026-06-01 13:46:09.678 [INFO] (VMP) - (EXTENSION)(ThreadID: 0x1050a41d0): "start Vomo with Server: [10.xxx.xxx.79] and userName [aaa08AA541F8]" I can see the value shared from host app is: 10.xxx.xxx.182, but service extension still took the stale value 10.xxx.xxx.79 First I thought it is synchronized issue, however, apple deprecated those API, CFPreferencesAppSynchronize((__bridge CFStringRef)@"group.com.myexample.project"); How to ensure the shared value successfully delivered to service extension? Thanks.
5
0
408
Jul ’26
Supported ways to intervene on app-open and on a schedule (non-blocking) — Screen Time / Shortcuts
I'm building a consumer iOS app that helps users be more intentional about opening distracting apps. It never hard-blocks; it only nudges. I have Family Controls (Distribution) approved and a working TestFlight build using FamilyControls / DeviceActivity / ManagedSettings. I've confirmed from testing and the forums that: ShieldActionResponse is only .none / .defer / .close (no supported way to open my main app from the shield extension — threads 719905, 793060). ShieldConfiguration is a static snapshot (no countdown/animation; FB14237883). DeviceActivityMonitor events are threshold/schedule based and cannot hook "the app was just opened," and on iOS 26 eventDidReachThreshold fires immediately/incorrectly (thread 808470). I'd like to confirm the supported approaches for these UX patterns (each = every-app-open vs on-a-schedule): On app open, present my own full-screen UI (a brief non-blocking "pause") without requiring the user to manually create a Shortcuts personal automation. Is there any supported API for this, or is a user-created Shortcuts automation the officially recommended path? On app open, deliver a local notification (rather than UI) — supported only via a user-created Shortcuts automation, or is there another way? On a schedule / at fixed intervals, automatically bring my app's UI to the foreground (e.g., re-show a screen every N minutes) — I believe this is not allowed (apps can't self-foreground); can you confirm, and is a user-tapped notification the only path? On a schedule / at fixed intervals, send repeating local notifications while a usage limit is exceeded — given the iOS 26 eventDidReachThreshold regression, what's the recommended way to reliably detect "over limit" and drive repeating reminders? Some third-party apps appear to open their main app from a shield/monitor context. Is there any supported mechanism enabling that which I may have missed? I'd rather build on a supported path than risk anything review-sensitive. Guidance (or where to file an enhancement request) is appreciated. Thank you.
Replies
1
Boosts
0
Views
244
Activity
3w
CallKit Call Directory database corruption (sqlite Code 11)
Hi everyone, I’ve filed a Feedback report (FB20986470) for a serious issue affecting the Call Directory database when add phone numbers for call blocking. When adding blocking numbers to a Call Directory extension, the system’s CallKit database (/private/var/mobile/Library/CallDirectory/CallDirectory.db) becomes corrupted. The reload call (reloadExtensionWithIdentifier) fails with error code 11 when the system tries to insert blocking entries, and the Console app on macOS shows the following errors: database corruption page 2265525 of /private/var/mobile/Library/CallDirectory/CallDirectory.db at line 81343 of [f0ca7bba1c] database corruption at line 79387 of [f0ca7bba1c] Error Domain=com.apple.callkit.database.sqlite Code=11 "sqlite3_step for query 'INSERT INTO PhoneNumberBlockingEntry (extension_id, phone_number_id) VALUES (?, (SELECT id FROM PhoneNumber WHERE (number = ?))), (?, (SELECT id FROM PhoneNumber WHERE (number = ?))),...)'" After this happens, CallKit becomes fully corrupted on the device and no further numbers can be added, even after: Disabling and re-enabling the extension Restarting the device (either force or soft restart) Reinstalling the app Waiting for a couple of minutes after this issue happens (that CallKit could possibly self-recovered) I also tested other call-blocking apps, and they all fail with the same error. The only thing that recovers the system is a full “Reset All Settings.” This issue has been reported by many users of my app, across multiple iOS versions and devices. Similar related issue reported by another developer: https://developer.apple.com/forums/thread/806129 Steps to Reproduce: Enable the Call Directory extension from a call-blocking app. Add and reload blocking numbers (a few thousand entries). Perform multiple reloads between additions. Check the Console, the corruption errors appear. From this point, all insert attempts fail system-wide. Expected Result: Entries should be inserted successfully, or the system should self-recover without persistent corruption. Actual Result: sqlite3_step fails with Code=11, and the Call Directory database remains corrupted until the user resets all settings. Additional Notes: All numbers are sorted and deduplicated before insertion. Happens intermittently after multiple reloads. The system log always shows internal database failure. Environment: Device: iPhone 16 Plus iOS 18.2 Beta (23C5027f) Xcode 16.1 (17B55) Attachments (included in Feedback FB20986470): sysdiagnose captured immediately after the failure (with Phone app General Profile) It seems like a system-level corruption affecting all Call Directory extensions once it occurs.
Replies
11
Boosts
3
Views
1.3k
Activity
3w
Bug (?) in Share Extension activation with max count
I have been implementing a share extension for my app and have added the activation rule NSExtensionActivationSupportsImageWithMaxCount. While testing I've noticed that my app will appear in the Share Sheet as a viable target when the max count is exceeded by up to 2 additional photos. For example if I set max to 4 then my app will appear in the share sheet when the user is sharing 1-6 images. On its own this wouldn't be too problematic, I figured I could put some validation in the extension that specifies the user has exceeded the allowed number. But while debugging the extension under this scenario I noticed that the inputItems array on the NSExtensionContext will only contain the number of items I've defined as the max, and silently drop the extra items. I'm sure users will see this as a bug with my app "losing" the extra images since the OS/Share Sheet provides my app as a valid target. My entire Info.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>NSExtensionAttributes</key> <dict> <key>NSExtensionActivationRule</key> <dict> <key>NSExtensionActivationSupportsWebURLWithMaxCount</key> <integer>1</integer> <key>NSExtensionActivationSupportsImageWithMaxCount</key> <integer>4</integer> </dict> </dict> <key>NSExtensionPointIdentifier</key> <string>com.apple.share-services</string> <key>NSExtensionPrincipalClass</key> <string>$(PRODUCT_MODULE_NAME).ShareViewController</string> </dict> </plist> Entire code implementation of the extension class ShareViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() if let extensionContext { debugPrint(extensionContext) } } } Edit: I've been testing on iOS 26.5 with a minimum deployment of iOS 26.0
Replies
0
Boosts
0
Views
267
Activity
3w
iOS 26.4 asks for Face ID instead of Screen Time passcode when disabling Screen Time access for an app
On iOS 26.4, I set a Screen Time passcode. However, when I go to Settings > Apps > [Our App] and turn off Screen Time Access for the app, the system asks for Face ID instead of the Screen Time passcode. As a result, Screen Time access can be disabled without entering the Screen Time passcode. Steps to Reproduce 1. Set a Screen Time passcode on iOS 26.4. 2. Open Settings > Apps > [Our App]. 3. Turn off Screen Time Access for the app. Expected Result The system should require the Screen Time passcode before allowing Screen Time access to be disabled. Actual Result The system asks for Face ID instead of the Screen Time passcode, and Screen Time access is disabled.
Replies
12
Boosts
3
Views
1.6k
Activity
3w
[MailKit] MEMessageSecurityHandler primaryActionClicked crashes Mail when completionHandler called with nil
I'm working on a MailKit extension and I'm getting a full Mail crash every time I click the Primary Action button in my message banner. I have filed a feedback: FB22513160 Apple's own unsubscribe banner successfully presents a confirmation modal when its primary action is clicked, demonstrating that this flow is intended to work. That behavior does not appear to be accessible to third-party extensions via the documented EMessageSecurityHandler API. Or if it is and I'm missing something, I'd love to know. Thanks!
Replies
3
Boosts
1
Views
395
Activity
3w
Can I declare my Share Extension can activate with an infinite number of images?
I am writing a share extension for my app so users can share images from other apps. I have added the NSExtensionActivationSupportsImageWithMaxCount key to the NSExtensionActivationRule dictionary but I am wondering if there is a way to define the activation rule to say I will accept any number of images, and not have it constrained by a maximum value. Looking at the documentation I've noticed that attachments seem to be the only option that defines a minimum count (NSExtensionActivationSupportsAttachmentsWithMinCount). Is there an undocumented equivalent for images or some particular combination to use? I know I could set the max to be some very high number like 999, but I'm just wondering if there is an "official" supported way to achieve a min count defined on the extensions rules.
Replies
0
Boosts
0
Views
268
Activity
3w
Can LPLinkMetadata be accessed from NSExtensionContext for my share extension
In the WWDC19 session "Embedding and Sharing Visually Rich Links" it mentions how the Messages app is able to gain access to the LPLinkMetadata provided to the Share Sheet (direct time link) so that it does not have to load the metadata itself. Looking through the NSExtensionContext's inputItems in my share extension and I could not see anything obvious that would allow my own share extension to read the loaded metadata. Am I missing something or is the metadata not made available? To be clear, I am aware of how to use LPMetadataProvider to fetch the metadata. I just want to know if my share extension can make use of the metadata that the Share Sheet has already loaded.
Replies
0
Boosts
0
Views
297
Activity
3w
DeviceActivityReport: visible per-app list updates, but aggregate total for same selection lags
Hi, I’m using FamilyControls + DeviceActivity. Users select apps/categories/web domains via FamilyActivitySelection. I need to show today’s total usage for that selected group only, not the device’s full Screen Time. Setup: A visible DeviceActivityReport shows today’s per-app list with a daily DeviceActivityFilter for the selected tokens. This visible list is usually accurate and updates quickly. A separate hidden DeviceActivityReport uses the same filter to compute an aggregate total by summing app.totalActivityDuration in makeConfiguration(representing:). The extension sends that total to the main app via notify_set_state + Darwin notification. DeviceActivityMonitor is only used as a fallback. Problem: The visible app list stays current, but the aggregate total for the same selected apps sometimes lags by several minutes or updates only after new selected-app usage occurs. Sometimes the total appears temporarily frozen while the app list still looks correct. Questions: Is a hidden DeviceActivityReport a supported way to compute a selected-app aggregate total? Is makeConfiguration expected to run often enough for a near-live total? Why would the visible per-app report update while a hidden report with the same filter does not? What is the recommended architecture for a reliable, non-inflated today total for selected apps only? Thanks!
Replies
0
Boosts
0
Views
237
Activity
3w
Connection problems between Xcode and Apple Watch
Hello! As I try to use Xcode (has happened in versions 16 and 26) and my Apple Watch (has happened with Series 6 and 10), the Devices and Simulators window reports problems connecting to the Watch. Messages vary from "Connecting to Apple Watch" to "Waiting to reconnect: Previous preparation error: the tunnel connection failed while the system tried to connect to the device; client unable to receive tunnel handshake response", or "Apple Watch may need to be unlocked to recover from previously reported preparation errors. Ensure the device is unlocked and near this Mac for better connection quality." The Watch was operational, and on my wrist, so it was unlocked. Any suggestions on how to move beyond this? Thank you!
Replies
6
Boosts
2
Views
507
Activity
3w
Nearby Interaction property supportsDirectionMeasurement returns false and NINearbyObject direction property is nil
I am trying on iOS 16.1.1 the Nearby Interaction framework. I am testing it on two iPhones 14 Pro Max. The supportsDirectionMeasurement property returns false (!) and the direction property on the NINearbyObjects is nil. Has someone experienced the same issue?
Replies
4
Boosts
1
Views
2.0k
Activity
3w
App Clip default invocation URL requires two taps to launch (first tap unresponsive) in Safari and Notes
I would like to clarify the expected behavior of a default App Clip link regarding tap responsiveness. Issue: When I tap the default App Clip invocation URL in Safari or the Notes app, the first tap does not respond (no App Clip card appears). Only the second tap successfully presents the App Clip card. Steps to Reproduce: Place the default App Clip URL in Safari (or Notes app) Tap the link once → no App Clip card appears Tap the same link again → App Clip card appears as expected Environment: Invocation source: Safari / Notes app App Clip type: Default App Clip experience (appclip.apple.com URL) Observation: This issue reliably occurs when there is no cached App Clip metadata on the device. When the metadata is already cached, the App Clip card appears on the first tap as expected. What I've already checked: Not in Private Browsing mode Question: Is this the expected behavior? Is there a recommended way to make the first tap reliably present the App Clip card even without a pre-existing cache? Thank you for your assistance.
Replies
1
Boosts
0
Views
355
Activity
3w
iPadOS 26 — Apple Pencil (Scribble) produces garbled, accented gibberish when handwriting into some text fields
On iPadOS 26.x, multiple users of our iPad app report that handwriting English words with Apple Pencil (Scribble) into a text field produces garbled output full of accented / non‑English characters instead of the English letters they wrote. Example of what shows up when a user handwrites a normal English word: -4ęśïćïá. Those accented letters (Polish / Spanish / French‑style diacritics: ę ś ï ć á) are not what the user wrote. Key facts from the reports Happens only on iPadOS 26.x — not seen on earlier iPadOS versions. Happens only with Apple Pencil / Scribble handwriting. Typing into the same field with the on‑screen keyboard is fine. The same users say Scribble works normally in other apps. The affected field is restricted to English‑only input; when that English‑only restriction is turned off, Scribble recognizes the handwriting correctly again. So the trigger appears to be Scribble writing into an English‑restricted field on iPadOS 26. No third‑party keyboards or input methods are involved. Steps (as reported by users) iPad on iPadOS 26.x with an Apple Pencil. Open the spelling/answer screen that has an English‑only input field. Handwrite an English word with the Pencil. The field fills with accented gibberish instead of the word. Question Is this a known iPadOS 26 Scribble regression? Is anyone else seeing garbled / accented output when Scribble writes into an English‑restricted text field? Any workaround short of removing the English‑only restriction? Environment Multiple end users, all on iPadOS 26.x (exact builds / iPad models being collected). I'm the developer and haven't been able to reproduce locally yet, so this is based on user reports.
Replies
0
Boosts
0
Views
273
Activity
3w
Managed Background Assets: Limit & Compatibility
Hello, We are currently developing a macOS application and evaluating Managed Background Assets for delivering additional downloadable content. Our preference is to rely on Apple-hosted asset delivery as much as possible, rather than maintaining a separate CDN or server infrastructure. While reviewing the documentation and forum discussions, we found a few areas that are still unclear and would appreciate your guidance. 1. Scope of the 200GB Apple-hosted asset pack limit Some documentation and discussions seem to describe the 200GB limit as applying per Apple Developer Program team/account, while others suggest it is a per-app bundle limit. Could you clarify the exact scope of this limit? Is the 200GB quota applied per individual app bundle ID? Or is it shared across all apps under the same Apple Developer Program account? References: [LINK1] [LINK2] [LINK3] 2. Storage expansion and hybrid hosting Are there any plans to expand the Apple-hosted asset pack limits in the future, or is there an official process to request additional hosting capacity? If an app eventually exceeds the Apple-hosted limit, is it acceptable or technically possible to use a hybrid approach (i.e., using Apple hosting for some assets while self-hosting the rest)? 3. Recommended strategy for older macOS versions As we understand, Managed Background Assets are only available starting from newer OS releases. However, our application also supports older macOS versions, and we would ideally like to avoid maintaining a completely separate asset delivery backend for them. From Apple’s perspective, what is the recommended strategy in this situation? Is it expected that developers continue using Unmanaged Background Assets for older OS compatibility? Is it acceptable to support Managed Background Assets only on newer systems, while older OS versions simply do not receive the same downloadable-content functionality? Or is there another recommended migration/compatibility approach for apps supporting both newer and older macOS versions? Thank you in advance for your clarification!
Replies
2
Boosts
0
Views
481
Activity
3w
ODR Legacy Technology Issues
Hello, We are currently evaluating ways to reduce the app size of the my App. The app contains approximately 200~250 MB of bundled static resources, and we are considering converting these resources into On-Demand Resources(ODR) in order to reduce the initial download and installation size of the app. However, we noticed that ODR is currently marked by Apple as a Legacy Technology. Since we would like these resources to continue being hosted and distributed through Apple CDN / App Store infrastructure, the first alternative we considered is Managed Background Assets, rather than regular Background Assets. We understand that regular Background Assets are available on iOS 16 and later, but they mainly address background download scheduling for apps. What we are specifically looking for is the resource hosting and distribution capability, similar to ODR, where assets can be hosted and delivered through Apple’s infrastructure. This is why we are considering Managed Background Assets. However, my App currently supports devices starting from iOS 14, while the key capabilities of Managed Background Assets require newer iOS versions. As a result, this solution cannot fully cover users who are still on older iOS versions, such as iOS 14 through iOS 18. Given this background, we would like to ask Apple the following questions: Does Apple have any plan to discontinue ODR-related services in the future, especially the App Store-hosted ODR asset download service? If the ODR service is changed or discontinued in the future, would it affect already released App Store apps that rely on ODR asset downloads on older iOS versions? For apps that still need to support iOS 14 and later, while also relying on Apple CDN / App Store infrastructure for resource hosting and distribution, does Apple still recommend using ODR? For apps that cannot immediately raise their minimum supported iOS version to the version required by Managed Background Assets, is there a recommended transition strategy? If ODR services are discontinued in the future, will Apple provide an alternative resource distribution solution that supports older iOS versions, or would developers need to build and maintain their own resource hosting and download system? We would like to better understand the long-term availability and potential risks of using ODR on older iOS versions, so that we can make an appropriate decision for future app size reduction and asset delivery in the App. Thank you.
Replies
1
Boosts
0
Views
345
Activity
3w
Inquiry regarding MetricKit cpuExceptionDiagnostics timestamps, totalSampledTime, and app status
Dear Apple Developer Support Team, I am writing to seek clarification on the timeline behavior and app status associated with the MetricKit cpuExceptionDiagnostics payload. In a recent diagnostic log collected from production, we observed the following values: timeStampBegin: "2026-07-07 10:37:00" timeStampEnd: "2026-07-07 10:37:00" totalSampledTime: "168 sec" Since both timeStampBegin and timeStampEnd share the exact same second (10:37:00), but the totalSampledTime indicates a continuous sampling duration of 168 seconds, we are having trouble accurately correlating this incident with our internal server logs. Could you please clarify the following questions: What exactly does the timestamp "2026-07-07 10:37:00" represent? Is it the sampling start time, the sampling end time, or the moment the diagnostic log was generated/written by the system? If "2026-07-07 10:37:00" represents the log generation time (or the moment the exception was triggered), how should we determine the actual start and end times of the 168-second sampling window? For instance, does it mean the sampling occurred strictly before this timestamp (from 10:34:12 to 10:37:00), or is there a different calculation method? Does a cpuExceptionDiagnostics event imply that the app crashed or was terminated by the OS? Or is it merely a non-fatal telemetry log capturing heavy CPU usage/resource limit violations while the app remained running? Understanding the precise timeline and lifecycle impact of MetricKit diagnostics is crucial for us to correlate client-side resource issues with backend performance and user activities. Thank you for your time and guidance. Best regards
Replies
0
Boosts
0
Views
264
Activity
4w
ShareLink with custom UT type not opening in my app
Hey all, my first time posting on these forums as I've finally become completely stumped. I'm working to implement a ShareLink to share data between users on my app, and have gotten pretty far (file saves, sends correctly), but am having significant issues getting the link to open in my app when sharing by email and not getting any action at all when tapping a shared link in iMessage. I'll go through my setup below: I have declared my new UTType, and created my new model which conforms to transferable here: struct transferTemplate: Codable { var id: UUID = UUID() var name: String = "TempName" var words: [String] = ["word1","word2"] } extension transferTemplate: Transferable { static var transferRepresentation: some TransferRepresentation { CodableRepresentation(contentType: .oltemplate) } } extension UTType { static var oltemplate: UTType { UTType(exportedAs: "com.overloadapp.oltemplate") } } I have declared the document type in my info.plist: <key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeName</key> <string>Template Session</string> <key>LSHandlerRank</key> <string>Owner</string> <key>LSItemContentTypes</key> <array> <string>com.overloadapp.oltemplate</string> </array> </dict> </array> I have declared the Exported Type Identifier: <key>UTExportedTypeDeclarations</key> <array> <dict> <key>UTTypeConformsTo</key> <array> <string>public.json</string> </array> <key>UTTypeDescription</key> <string>Template Session</string> <key>UTTypeIconFiles</key> <array/> <key>UTTypeIdentifier</key> <string>com.overloadapp.oltemplate</string> <key>UTTypeTagSpecification</key> <dict> <key>public.filename-extension</key> <array> <string>oltemplate</string> </array> <key>public.mime-type</key> <array> <string>application/json</string> </array> </dict> </dict> </array> I've also included the "LSSupportsOpeningDocumentsInPlace" boolean to True in the PLIST. My physical ShareLink setup is: @State private var transferred: transferTemplate = transferTemplate(name: "NameTemplate", words: ["One","Two"]) ... ShareLink(item: transferred, preview: SharePreview("Share your template", image: Image("tanLogo"))) Heres where the above code gets you: ShareLink brings up the share sheet and allows you to send the file (with the .oltemplate file extension). Sharing via iMessage will send a file, but within iMessage, the file cannot be opened at all. By email, the file can be opened but does not show any information. If you open the ShareSheet within the email attachment, you can manually choose to open the file in my app. If the file is saved to "Files", it will open my app when it is tapped (work as intended). Heres what I have tried to fix this: Modifying the Exported File Type "Conforms to" value. Ive used public.data, public.text, public.json. Including and not including the mime type I've scoured forums trying to solve this issue, and it doesn't seem like there is a clear cut solution for this issue. I appreciate any help you can provide! Please let me know if I can include any more helpful information.
Replies
1
Boosts
1
Views
1.6k
Activity
4w
Swift thread continuation crash when calling isEligibleForAgeFeatures
Hi, We’ve been observing crashes when calling “try await DeclaredAgeRange.AgeRangeService.shared.isEligibleForAgeFeatures”. Our crash logs show a “suspend resume partial function” crash from libswift_Concurrency.dylib swift::runJobInEstablishedExecutorContext. Based on our analysis, this is because once Apple’s eligibility check completes, it attempts to resume the Swift task continuation directly on its own internal background thread instead of yielding back to the Swift cooperative thread pool. Because the caller task inherits @MainActor isolation (due to a UIViewController being passed into our pipeline further up as it’s needed for requestAgeRange), the Swift runtime crashes when trying to reconcile the @MainActor context on Apple's foreign background thread. Has anyone encountered this and found a fix, and is this a known issue? Thanks!
Replies
1
Boosts
0
Views
259
Activity
4w
[iOS 17.1.1 issue] MSMessageLiveLayout not rendering after MSMessagesAppViewController.willBecomeActive in iOS 17.1.1
Hello dear community, I have an iMessage extension running perfectly on iOS 16.4, but on 17.0.1 and 17.1.1 it's having real issues. Messaging in iMessage on the iOS 17.0.1 simulator isn't working at all. MSMessageLiveLayout works perfectly on iOS 16.4, but on iOS 17.1.1 (physical iPhone 15, 14, 13, 12, SE 2020) the MSMessagesAppViewController won't render after didStartSending and subsequent willBecomeActive. The iPhones will just show "Loading...". I debugged through it, couldn't find any issues and works perfectly fine on iOS 16.4 both in the simulator and on a physical device. I'm debugging through the physical devices with XCode, but couldn't find any root cause on why. Has anyone experienced similar issues with MSMessagesAppViewController in iOS 17.1.1? Any ideas on how to fix this? Thanks, Jan
Replies
3
Boosts
1
Views
919
Activity
4w
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
2
Boosts
0
Views
356
Activity
Jul ’26
App Group data sharing does not work sometimes between HostApp and Service extension.
Hi There, My app is a legacy project built with Objective C. The host app shared data with the service extension by using NSUserDefaults *userDefault = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.myapp.project"]; and it worked until a customer recently reported a bug (iOS 18.6). After debugging, I found that data sharing from the host app to the service extension was not working correctly. The host app updated a field's value, but the service still used the old or stale value, causing the issue. HostApp saved info 2026-06-01 13:44:07.020 [INFO] (VMP)(ThreadID: 0x10a85c000): "Saved Vomo information { "EXT_AP_IP" = 1c28af0f9d73; "EXT_PING_DND" = 0; "EXT_PING_USER_NAME" = aaa08AA541F8; "EXT_SERIAL_ACK_TIME" = "2026-06-01 20:44:07 +0000"; "EXT_SERIAL_NO" = 689; "EXT_SERVER_NAME" = "10.xxx.xxx.182"; "EXT_VOICE_LOGIN" = 1; }" Service extension read value: 2026-06-01 13:46:09.678 [INFO] (VMP) - (EXTENSION)(ThreadID: 0x1050a41d0): "start Vomo with Server: [10.xxx.xxx.79] and userName [aaa08AA541F8]" I can see the value shared from host app is: 10.xxx.xxx.182, but service extension still took the stale value 10.xxx.xxx.79 First I thought it is synchronized issue, however, apple deprecated those API, CFPreferencesAppSynchronize((__bridge CFStringRef)@"group.com.myexample.project"); How to ensure the shared value successfully delivered to service extension? Thanks.
Replies
5
Boosts
0
Views
408
Activity
Jul ’26