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

FamilyActivityPicker: manage own device AND children device
Hello, I am unable to figure out how I tell the FamilyActivityPicker whether it should show apps installed on my personal device (to be used with AuthorizationCenter.shared.requestAuthorization(for: .individual)) or apps installed on my child’s device (authenticated their phone via AuthorizationCenter.shared.requestAuthorization(for: .child)). Is there any parameter or SwiftUI modifier I need to apply? Otherwise, how does the user or the app know which token belongs to them and which token belongs to their child’s device? Radar: FB17020977 Thanks a lot for your help!
0
0
94
Mar ’25
DeviceActivityReport failing to load "Code = 2"
Hi! For some reason my DeviceActivityReport sometimes fails to load. I've tried setting up a very simple mock views and displaying a report with a simple "Hello world" but even that won't work. It prints the following error message in the terminal but doesn't show anything else or any context as to what has gone wrong. Failed to update the client's configuration: Error Domain=DeviceActivityReportService.ReportViewController.ClientError Code=2 "(null)" It seems like the "makeConfiguration" method for the report isn't even being invoked. That may though just be an issue with printing messages in the extension. Any help on what could be the issue, or even just a message that you're being the same thing would be greatly appreciated!
0
0
122
Oct ’25
Testing Live Caller ID Lookup Feature before App Store Release
Hi, We are working to integrate the Live Caller ID Lookup feature into our app. After submitting the request form via the link: https://developer.apple.com/contact/request/live-caller-id-lookup/, we received this reply from Apple: Apple’s OHTTP relay has been configured to talk to your OHTTP gateway. Now Live Caller ID Lookup should work for your application extension when distributed through App Store. However, before officially releasing our app on the App Store, we’d like to make sure the Live Caller ID Lookup feature is working as expected. To test this, we uploaded the app to TestFlight, and it successfully passed App Review. However, the test failed — we observed that the system tries to fetch the config from http://www.example.com/config instead of our actual configuration URL. Questions: Is this expected behavior when using TestFlight? Does the Live Caller ID Lookup feature only become active after full public release on the App Store? Is there any recommended way to test this feature before public release? Thank you!
0
0
159
Oct ’25
[iOS 26] [PushToTalk] Not receiving microphone PCM sample when Transmission Starts from System UI.
Steps To reproduce: Login to application and App has joined the PTC channel. Push the application to background and Lock the device. From the System UI press the talk button which will start transmit. Audio Session has been activated and Audio unit has been initialised properly. On terminator side no media is being played out. Issue observed consistently on specific models which has configured audio codec with Stereo type. More details are added : FB20281626
0
0
140
Oct ’25
Family Controls Approved for Main App but Not Extension – Blocking
Hi everyone, I’m developing a screen-time and focus app that uses Apple’s Family Controls framework to block distracting apps and reward users through a gamified experience. Apple approved Family Controls (Distribution) for the main app identifier, but they did not approve the required extension target (which implements DeviceActivityMonitor, required for the framework to function). Because of this, I can’t archive or upload the app to TestFlight — and I’ve been stuck in limbo for over 2 months. This is severely delaying my launch. The app works perfectly, but I can’t release it because the extension wasn’t included in the entitlement approval. Has anyone else run into this with Family Controls? Is there any known way to escalate or fast-track approval for additional app IDs or targets? Would really appreciate any help, advice, or hacks. 🙏 Thanks, Enzer
0
0
92
Apr ’25
Non–App Clip NFC URLs show CPSErrorDomain error 2 after creating 50+ Advanced App Clips
We’re seeing unexpected NFC behavior once our app has 50+ Advanced App Clips created. Expected: Scanning an NFC tag with a URL that is NOT an App Clip invocation should show the standard “Open in Safari” notification. Actual: After we create ~50+ Advanced App Clips, scanning NFC tags for URLs on the same domain that are not associated with App Clips consistently shows “CPSErrorDomain error 2” instead of the Safari prompt.
 QR codes for the same non–App Clip URLs work as expected (shows Safari prompt). Clearing the App Clips “Experience Cache” sometimes helps briefly, but the error returns on consequent scans. Notes: Domain has valid AASA. App Clip invocation URLs work as expected.
 The issue appears tied to the number of Advanced App Clips configured. Below ~50, non–App Clip NFC scans behave correctly; above that, they fail.
 Affected across multiple devices and iOS versions tested. Repro steps: Configure 50+ Advanced App Clips for paths on a single domain.
 Encode a different URL on the same domain that is NOT listed as an App Clip invocation into an NFC tag.
 Scan the NFC tag on iPhone.
 Observe “CPSErrorDomain error 2” instead of the “Open in Safari” notification. Impact: blocks our NFC use case for regular web links once we scale App Clip experiences. Sysdiagnose #: FB20563121
0
0
58
Nov ’25
How to install macOS Tahoe 26 on an external drive
In the past I was always able to install every major macOS version on an external drive so that I can test my apps. But now I'm unable to install macOS Tahoe 26 on an external drive. Actually, as far as I'm aware, there are not even official links to macOS 26 installers, but only instructions on how to update to macOS 26 from an existing macOS installation. So I thought I'd install macOS 15 on a separate drive and then update to macOS 26, but whenever I run the macOS 15 installer, tell it to install on the external drive, and reboot after the setup process completes, my MacBook just boots into my main macOS partition as if nothing happened. 3 months ago I somehow managed to install macOS Tahoe beta 1 on an external drive, I don't remember how (but I don't think it was anything crazy); booting into that beta 1 partition and trying to update doesn't work either, as my MacBook again boots into my main macOS partition. I already asked help about the update problem one month ago here, but nobody replied. Could someone at Apple please provide instructions on how one is supposed to install macOS 26 on an external drive (if possible before it becomes available to the public)? Are we supposed to buy a separate Mac for every macOS version that we want to test our apps on?
0
1
180
Sep ’25
Associated Domain not working to Open App
Hello Having trouble getting associated domain to work in our project. It was working when we used Branch, but our company wants to host the domain ourselves. This is a multi-scheme project, using .xcconfig files to define the correct entitlement per Build. The relevant entitlement file has: com.apple.developer.associated-domains applinks:bm.ddcas.ai in the ....{other irrelevant test associated domains....} The project Team and App ID are taken from the Identifiers screen where the Identifier capabilities has 'associated domains' ticked on. I've also checked elsewhere on AppleDeveloper/Connect to be sure. When we used Branch with domain key app links: bmstores.app.link this worked fine. With https://bm.ddcas.ai (our own host) which is publicly available and has an aasa file in both the main directory and /.well-known, typing this in safari or anything just doesn't attempt to link to the App. The iPhone is in developer mode, and using the developer menu associated domains diagnostic tool, typing https://bm.ddcas.ai results in the diagnostic saying 'The url is a Universal Link for the app with identifier **********.***etc (the app is installed on real iPhone 12, iOS 18.6.2 and my Xcode is 16.4) However, it just doesn't work if we type in https://bm.ddcas.ai and results in a Safari message of '400 not found' and the 'nginx' shows. We have read innumerable Apple Dev posts and StackOverflow posts, as well as several step by step 'how to's' online but this just isn't working. The aasa file is at https://bm.ddcas.ai/apple-app-site-association and is setup as follows: { "applinks": { "apps": [], "details": [ { "appID": "{my Team ID}.{my App ID}", "paths": [ "*" ], "components": [ { "/": "/verification", "?": { "verification_code": "[A-Za-z0-9]{6}" }, "comment": "Matches verification code path" } ] } ] } } Our Server guys say the website (bm.ddcas.ai) is public and hosted, it just doesn't have a /verification path as they say it should redirect before reaching that. Also, our Android redirect works using this site, so this appears to be something specific Apple code is looking for. What, please, are we likely to be missing as it does not seem obvious from the Apple documentation or any of the resources I have checked online. Normally we can figure anything out, but getting nowhere here so the help is appreciated.
0
0
114
Sep ’25
Intermittent White Screen Issue on iOS 18.1.1 for a Hybrid Shopping App
Hello everyone, I’m running an Objective-C–based hybrid (native + web) shopping application and encountering a recurring issue on devices running iOS 18.1.1: When the app launches, it only shows a white screen with the native frame visible—no web content loads. Restarting or reinstalling the app doesn’t help. In one instance, toggling Airplane Mode on and off brought the app back to normal, but this workaround isn’t consistent. There are no crash logs, so we can’t determine if it’s caused by a network error, cache conflict, or an OS-level bug. So far, we have only seen this issue on iOS 18.1.1 devices. Because our app is a shopping platform, this significantly impacts users. Questions: Could this be related to a known bug or limitation in iOS 18.1.1? Are there recommended diagnostic steps or workarounds for a hybrid app that shows a white screen without generating crash logs? Which additional details (e.g., system logs, network traces, device configurations) might help isolate the cause? Any insights or suggestions would be greatly appreciated. Thank you in advance!
0
0
126
Feb ’25
Universal links stopped working, CDN responds with 404 for our domain
From some moment of time, Universal Links stopped working for our app. As per my understanding, application reinstall or update caused system to fetch AASA file from CDN, which started to reply with 404 for our domain (https://app-site-association.cdn-apple.com/a/v1/app.link.digidentity.eu). In the meantime, nothing has changed inside our app or on our BE (https://app.link.digidentity.eu/.well-known/apple-app-site-association). Executing "curl -v https://app-site-association.cdn-apple.com/a/v1/app.link.digidentity.eu" returns following result * IPv6: (none) * IPv4: 17.253.15.197, 17.253.29.202, 17.253.37.203, 17.253.37.208, 17.253.57.197, 17.253.57.208, 17.253.29.196 * Trying 17.253.15.197:443... * Connected to app-site-association.cdn-apple.com (17.253.15.197) port 443 * ALPN: curl offers h2,http/1.1 * (304) (OUT), TLS handshake, Client hello (1): * CAfile: /etc/ssl/cert.pem * CApath: none * (304) (IN), TLS handshake, Server hello (2): * (304) (IN), TLS handshake, Unknown (8): * (304) (IN), TLS handshake, Certificate (11): * (304) (IN), TLS handshake, CERT verify (15): * (304) (IN), TLS handshake, Finished (20): * (304) (OUT), TLS handshake, Finished (20): * SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256 / [blank] / UNDEF * ALPN: server accepted http/1.1 * Server certificate: * subject: C=US; ST=California; O=Apple Inc.; CN=app-site-association.cdn-apple.com * start date: Jul 7 00:05:26 2025 GMT * expire date: Sep 30 19:08:48 2025 GMT * subjectAltName: host "app-site-association.cdn-apple.com" matched cert's "app-site-association.cdn-apple.com" * issuer: CN=Apple Public Server ECC CA 11 - G1; O=Apple Inc.; ST=California; C=US * SSL certificate verify ok. * using HTTP/1.x > GET /a/v1/app.link.digidentity.eu HTTP/1.1 > Host: app-site-association.cdn-apple.com > User-Agent: curl/8.7.1 > Accept: */* > * Request completely sent off < HTTP/1.1 404 Not Found < Apple-Failure-Details: {"cause":"dial tcp: lookup app.link.digidentity.eu on 10.100.53.53:53: dial tcp 10.100.53.53:53: connect: connection refused"} < Apple-Failure-Reason: SWCERR00302 Network error (temporary) < Apple-From: https://app.link.digidentity.eu/.well-known/apple-app-site-association < Apple-Try-Direct: true < Cache-Control: max-age=3600,public < Content-Length: 10 < Content-Type: text/plain; charset=utf-8 < Date: Thu, 21 Aug 2025 10:36:47 GMT < Vary: Accept-Encoding < Expires: Thu, 21 Aug 2025 10:36:57 GMT < Age: 2952 < Via: http/1.1 uklon5-vp-vst-011.ts.apple.com (acdn/1.16221), https/1.1 uklon5-vp-vfe-007.ts.apple.com (acdn/4.16219), http/1.1 defra1-edge-lx-005.ts.apple.com (acdn/260.16276), http/1.1 defra1-edge-bx-006.ts.apple.com (acdn/260.16276) < X-Cache: hit-fresh, hit-stale, hit-fresh, hit-fresh < CDNUUID: e06b4b03-f97d-48f8-97bb-774359a39fa2-4464142837 < Connection: keep-alive < Not Found * Connection #0 to host app-site-association.cdn-apple.com left intact On our end, we did not find any reason why it can be not available for Apple to fetch. Is SWCERR00302 an indication of problem on our end? Any help is appreciated
0
0
142
Aug ’25
How to Archive iMessages via API with User Authorization Workflow?
I’m working on a solution to archive iMessages by using an API or similar mechanism. Here’s the desired workflow: The user provides their phone number to initiate the archiving process. They receive a text message with a URL link. Clicking on the link authorizes the archiving of their iMessages. Once authorized, their text messages are archived. So far, I’ve researched third-party services and APIs but haven’t found any that offer this capability directly for iMessages. Questions: Are there any APIs or frameworks (Apple or third-party) that support accessing and archiving iMessages programmatically?
0
0
440
Jan ’25
FinanceKit - Any way to get merchant location info from transactions?
Hi all — I’m building a Wallet-style transaction details view using FinanceKit and I’m running into a gap around merchant location. What I’m seeing FinanceKit gives me great core fields (amount, currency, status, dates, MCC, merchantName, transactionDescription), but I’m not seeing any address or place/location metadata on a Transaction. For example, a small/local merchant where I can plausibly infer a single place: Fetched transaction: Transaction( id: 8D142B16-3E0E-40B8-945A-2E7C0CF65F1D, accountID: 14939CF4-DBC3-4A9D-8292-5FEA495B8461, transactionAmount: 47.24 USD, creditDebitIndicator: .debit, transactionDescription: "Local Dental Care", originalTransactionDescription: "Local Dental Care", merchantCategoryCode: 8021, merchantName: "Local Dental Care", transactionType: .pointOfSale, status: .booked, transactionDate: 2025-08-20 22:27:50 +0000, postedDate: 2025-08-21 11:22:06 +0000 ) Because this appears to be a single-location practice, I can usually resolve it to a place using MapKit search heuristics. But for big-box chains, I don’t get enough signal to determine which store: Fetched transaction: Transaction( id: 3F8E9F74-7565-4D24-9038-8FD709184799, accountID: 14939CF4-DBC3-4A9D-8292-5FEA495B8461, transactionAmount: 441.77 USD, creditDebitIndicator: .debit, transactionDescription: "The Home Depot", originalTransactionDescription: "The Home Depot", merchantCategoryCode: 5200, merchantName: "The Home Depot", transactionType: .pointOfSale, status: .booked, transactionDate: 2023-12-27 23:07:02 +0000, postedDate: 2023-12-29 03:09:41 +0000 ) There’s no store number, address, phone, or any stable identifier. With hundreds of locations, I can’t deterministically choose a map pin or fetch the right brand assets. What I’m trying to achieve I’d like to replicate the Apple Wallet experience: show a small map snapshot and merchant visuals (logo/name that match Apple Maps / the Place Card) on the transaction detail screen. Without a location hint, I have to either: Ask users to pick a store manually, or Make a guess based on a coarse, app-defined region …neither of which feels great. Questions Is there any way in FinanceKit today to access merchant location or a resolvable identifier (e.g., address, city/state, store number, Apple Maps place identifier, network merchant ID/MID, terminal ID, etc.)? If not, can FinanceKit expose additional merchant metadata (even opt-in / privacy-preserving) to enable Wallet-like enrichment? A few examples that would unblock this: merchantAddress (or components: street/city/region/postalCode/country) merchantPhone (often unique per store) merchantIdentifier (stable per physical location, e.g., network merchant ID / store number) mapsPlaceURL or mapsPlaceIdentifier (linkage to the Apple Maps Place Card) brandAssetURL (logo/brand reference similar to what Wallet shows) With even one of the above, I could reliably: Render an accurate map snapshot, Fetch the correct brand assets, and Avoid prompting the user or inferring via fuzzy search. Context / constraints I do not want to (and shouldn’t need to) request or monitor the user’s device location to resolve a merchant’s store location. For small merchants, MapKit text search is often enough. For large chains, I need a store-level identifier. If there’s an existing field or recommended approach I’m missing, I’d love pointers. If not, please consider this a feature request for richer merchant metadata in FinanceKit so developers can build Wallet-quality transaction details. Thanks!
0
0
55
Aug ’25
FinanceKit: Apple Cash transfers missing contact information
I’m testing FinanceKit with Apple Cash and noticed that transfers don’t include any counterparty information. Here’s an example transaction I fetched: Transaction( id: 5A96EA49-B7C9-4481-949D-88247210C1D7, accountID: 28D7C0E2-DC2A-4138-B105-BCE5EE00B705, transactionAmount: 30 USD, creditDebitIndicator: .credit, transactionDescription: "Transfer", originalTransactionDescription: "", merchantCategoryCode: nil, merchantName: nil, transactionType: .transfer, status: .booked, transactionDate: 2025-08-19 21:57:54 +0000, postedDate: 2025-08-19 21:57:55 +0000 ) As you can see: transactionDescription is just "Transfer" originalTransactionDescription is empty merchantName is nil No counterparty details are exposed In contrast, the Wallet app clearly shows the other person’s name and avatar for Apple Cash transfers, making it easy to understand who the payment was with. In FinanceKit, there’s no way to distinguish between transfers with different people — every transfer looks identical. Questions Is there a hidden or planned field for Apple Cash counterparty information? Can FinanceKit provide at least minimal metadata (e.g., contact name, initials, or a privacy-preserving identifier)? Is there any workaround today to correlate Apple Cash transfers with contacts? Feature request: Please expose counterparty information for Apple Cash transfers. Even something as simple as a stable identifier or name string would enable developers to build Wallet-quality transaction detail screens. Thanks!
0
0
95
Aug ’25
FinanceKit: Apple Savings transactions missing source account information
When fetching Apple Savings transactions via FinanceKit, the data is missing key context about where the deposit originated from. Here’s an example transaction I retrieved: Transaction( id: 77371A0C-7122-42C7-BEBC-85BDF654AD2B, accountID: 68D9FE9D-6DA6-4A27-BB9D-19209CD29A56, transactionAmount: 1.46 USD, creditDebitIndicator: .credit, transactionDescription: "Deposit", originalTransactionDescription: "", merchantCategoryCode: nil, merchantName: nil, transactionType: .deposit, status: .booked, transactionDate: 2025-08-20 13:44:26 +0000, postedDate: 2025-08-20 13:44:26 +0000 ) As shown: transactionDescription is just "Deposit" merchantName is nil No indication of the source account In contrast, the Wallet app clearly shows context for Apple Savings account deposits, such as: "Apple Card" (daily cash) "Bank of America" (external transfer) "Interest Paid" (we do see "Interest" come through correctly) Without this metadata, third-party apps cannot replicate Wallet’s clarity about where a deposit came from. Every deposit simply appears as "Deposit", which is ambiguous. Request: Please expose additional metadata for Apple Savings account transactions, for example: sourceAccountName (e.g. “Apple Card” or “Bank of America”) transactionOriginType (cashback, external bank transfer, interest) institutionIdentifier or similar for external banks This would allow developers to show clear, Wallet-quality transaction details and avoid confusing users. Impact: The lack of source info makes Savings deposits nearly indistinguishable from one another, even though Wallet provides this context. For apps leveraging FinanceKit, this results in a poorer experience compared to Apple’s own Wallet. Thanks!
0
0
99
Aug ’25