Overview

Post

Replies

Boosts

Views

Activity

Cannot receive 2FA code after registered email was deleted – locked out of Developer account
My Apple Developer account was registered with a company Gmail address that has since been permanently deleted. Now when I try to log in, I reach the 2FA step but the verification code is no longer sent to my registered phone number. I am completely locked out. Has anyone experienced this or knows how to contact Apple to recover access?
0
0
45
3w
Does a Notification Service Extension continue executing network requests after calling contentHandler?
In my Notification Service Extension I'm doing two things in parallel inside didReceive(_:withContentHandler:): Downloading and attaching a rich media image (the standard content modification work) Firing a separate analytics POST request (fire-and-forget I don't wait for its response) Once the image is ready, I call contentHandler(modifiedContent). The notification renders correctly. What I've observed (via Proxyman) is that the analytics POST request completes successfully after contentHandler has already been called. My question: Why does this network request complete? Is it because: (a) The extension process is guaranteed to stay alive for the full 30-second budget, even after contentHandler is called so my URLSession task continues executing during the remaining time? (b) The extension process loses CPU time after contentHandler but remains in memory for process reuse and the request completes at the socket/OS level without my completion handler ever firing? (c) Something else entirely? I'd like to understand the documented behaviour so I can decide whether it's safe to rely on fire-and-forget network requests completing after contentHandler, or whether I need to ensure the request finishes before calling contentHandler.
1
0
139
3w
iOS26 系统锁屏一段时间,蓝牙钥匙和数字钥匙都不能正常工作
Recently, we have received continuous feedback from users that the Bluetooth key and digital key are not working properly or are not functioning; Through analysis of App logs, it was found that after the iOS system locks the screen, the iBeacon background keep-alive function fails, Bluetooth connection also fails, and system callbacks cannot be obtained; the digital key also fails, and it fails simultaneously with the Bluetooth key; We have checked the specific permission configuration and it aligns with the recommended configuration in the official documentation, with no abnormalities. Although this type of issue is not a widespread problem, it has been continuously reported by users and is very troublesome. Does the official team have a clear explanation? Why are both Bluetooth keys and digital keys affected after the app is locked? Digital keys should be less affected. The following is a log analysis of a certain user 1: Step 2, the App entered the background; Step 3, the App's Bluetooth was disconnected; 3-4 The App remained in the background for 5 hours before being launched again 2: This type of issue is due to the system disconnecting the Bluetooth connection when the app enters the background; most likely, the app has been killed by the system when the user gets out of the car, and it has not been revived; the car key also does not work; During the time period from 2026-03-23T17:59:33 to 2026-03-23T21:23:49, why didn't carkey work properly 1:2026-03-23T16:52:11.676+08:00 new_carkey: key:, rssi:-89, AUTH_OK 2:2026-03-23T17:55:51.782+08:00 new_carkey: AppMonitor appDidEnterBackground bleStatus: success(Nimbus.NIOCarBLEKey.State.connected) 3:2026-03-23T17:59:33.747+08:00 new_carkey: ibeacon: didExitRegion, vid: NIO BLE Key, uuid: *** bleStatus: failure(Error Domain=CBErrorDomain Code=15 ""Failed to encrypt the connection, the connection has timed out unexpectedly."" UserInfo={key_device_name=NIO Key 0201 , NSLocalizedDescription=Failed to encrypt the connection, the connection has timed out unexpectedly., vehicle_id=}) " 4:2026-03-23T21:23:49.920+08:00 new_carkey: AppMonitor appDidFinishLaunching: [:] bleStatus: success(Nimbus.NIOCarBLEKey.State.disconnected) 5:2026-03-23T22:01:51.235+08:00 new_carkey: key:****, rssi:-90, AUTH_OK
0
0
112
4w
Custom Reports GET API returning 403 Forbidden since March 16, 2026 — POST still works
Hi Apple Developer Community, Since March 16, 2026, our integration with the Apple Ads Campaign Management API (v5) is returning 403 Forbidden on all GET requests to the custom-reports endpoint, while POST requests to create reports continue to work without any issues. Environment API Version: v5 Base URL: https://api.searchads.apple.com/api/v5/ Authentication: OAuth 2.0 (Bearer token — token generation works fine) API User Role: API Account Manager What's broken GET /api/v5/custom-reports/63638557 → 403 Forbidden The response is raw HTML from Apple's gateway, not a JSON API error: <html> <head><title>403 Forbidden</title></head> <body> <center><h1>403 Forbidden</h1></center> <hr><center>Apple</center> </body> </html> This indicates the request is being blocked at the reverse proxy / infrastructure level and never reaches the API application layer. A proper API-level authorization error would return JSON with messageCode and message fields. What still works POST creates report successfully POST /api/v5/custom-reports → 200 OK Response: { "data": { "id": 63638557, "name": "Impression_Share_Report_2026-03-22_daily", "startTime": "2026-02-21", "endTime": "2026-03-22", "granularity": "DAILY", "downloadUri": null, "dimensions": ["appName", "adamId", "countryOrRegion", "searchTerm"], "metrics": ["lowImpressionShare", "highImpressionShare", "rank", "searchPopularity"], "selector": { "conditions": [] }, "state": "QUEUED", "creationTime": "2026-03-23T10:05:25.537", "modificationTime": "2026-03-23T10:05:25.537" }, "pagination": null, "error": null } The report is created and enters QUEUED state with downloadUri: null, which is expected. The normal flow is to poll the GET endpoint until state becomes COMPLETED and downloadUri is populated. But the GET endpoint now returns a 403 at the gateway level, making it impossible to retrieve or download the report. Other endpoints confirmed working POST to standard reporting endpoints (e.g., /api/v5/reports/campaigns/{campaignId}/keywords) → 200 OK All other campaign management GET endpoints (campaigns, ad groups, keywords) → 200 OK OAuth token generation → works fine What we've verified Bearer token is valid and not expired (other endpoints work with the same token) X-AP-Context: orgId= header is present and correct in all requests Accept: application/json and Content-Type: application/json headers are set The reportId (63638557) is a valid ID returned by the successful POST API user has API Account Manager role (not Read-only) No changes were made to our code or credentials — this started failing on March 16 with no code deployment on our side Tested with multiple report IDs (both new and previously created) — all return the same HTML 403 Timeline Before March 16, 2026: Full POST + GET flow for custom reports worked without issues March 16, 2026: GET requests began returning 403. POST requests unaffected. March 18, 2026: We noticed reports about Custom Reports being replaced by Insights Our suspicion We're aware that Apple has introduced the Insights analytics tool as a replacement for Custom Reports. The timing of our 403 errors aligns exactly with this transition. The fact that the 403 is an HTML gateway response (not a JSON API error) suggests the GET route has been deliberately removed from the API gateway configuration. However, we could not find any API changelog, deprecation notice, or migration guide documenting: Whether the custom-reports GET endpoint has been intentionally removed What the replacement API endpoint is for programmatically retrieving report data (especially Impression Share reports) Whether there is a migration timeline or if this is a permanent change Why POST still works if the feature is being deprecated What we need Confirmation: Is the 403 on custom-reports GET intentional due to the Insights migration, or is this a bug/misconfiguration? Migration path: If Custom Reports API is being deprecated, what is the new API endpoint for retrieving Impression Share data programmatically? Is there an Insights API? Timeline: If this is a phased deprecation, when will the POST endpoint also stop working? Documentation: Is there an updated API reference or migration guide? Impact This is a production-breaking issue for our data pipeline. We rely on the POST → GET → download flow to pull Impression Share data (impression share, rank, search popularity by search term and country) for downstream analytics. The standard reporting POST endpoints (/api/v5/reports/campaigns/...) do not support Impression Share metrics, so there is currently no API workaround for this specific data. Any guidance from Apple engineers or anyone in the community experiencing the same issue would be greatly appreciated. Thanks in advance.
1
1
117
3w
TestFlight In-App Purchase (Consumable) gets stuck when using real Apple ID – cannot repurchase even after finishTransaction
**Environment Platform:** iOS Distribution: TestFlight Product type: Consumable In-App Purchase Account used for testing: Real Apple ID (not Sandbox) StoreKit: StoreKit 1 iOS version: iOS 17+ (also reproduced on earlier versions) Issue Description We are encountering an issue when testing consumable in-app purchases in a TestFlight build using a real Apple ID. Under normal circumstances, consumable products should be purchasable repeatedly. However, in TestFlight, after a successful purchase flow, the same product may become unavailable for repurchase, and the transaction appears to be stuck, even though: • finishTransaction: is correctly called • The transaction state is .purchased • No pending transactions are left in the payment queue Once this happens, subsequent purchase attempts result in behavior similar to a non-consumable product (e.g. “already purchased” or no purchase UI shown).
4
0
276
4w
Different transaction IDs for the same purchase between SKPaymentTransaction and receipt latest_receipt_info
Hello, I am investigating a case where two different transaction IDs appear to refer to the same purchase, and I would like clarification on whether this behavior is expected. Additional context StoreKit version: StoreKit 1 (SKPaymentTransaction) Environment: Production Product type: Auto-renewable subscription Transaction sources The values are obtained from the following APIs: transaction_id from SKPaymentTransaction https://developer.apple.com/documentation/storekit/skpaymentqueue receipt_data from the App Store receipt https://developer.apple.com/documentation/foundation/bundle/appstorereceipturl Observed behavior After an In-App Purchase completes, the app receives: a transaction_id from SKPaymentTransaction the corresponding receipt_data for the purchase When inspecting the receipt, the transaction_id inside latest_receipt_info differs from the transaction_id received directly from the purchase transaction. For clarity: A = transaction_id received from the purchase flow (SKPaymentTransaction) A' = transaction_id found in receipt_data.latest_receipt_info The two values are different, but they differ only by 1. Additional observation The original_transaction_id for A and A' is identical, which suggests that both transaction IDs belong to the same subscription purchase chain. Pattern observation on the ID difference We have observed that the difference between A and A' is consistently exactly 1 (i.e., A' = A + 1) across multiple transactions, not just a single case. This appears to be a reproducible pattern rather than a coincidence. This observation raises an additional question (Question 6 below). API verification When calling: GET /inApps/v1/transactions/{transactionId} Both A and A' return what appears to be the same purchase record. The response data is effectively identical except for the transactionId field. However, when calling: GET /inApps/v2/history/{transactionId} A does not appear in the transaction history only A' appears in the history response Questions If A does not appear in transaction history, where does this transaction ID originate from? Why does Get Transaction Info (/inApps/v1/transactions/{transactionId}) return a valid response for A even though it is not present in the transaction history? Why do A and A' both resolve to what appears to be the same purchase? In this situation, which transaction ID should be treated as the canonical transaction ID for server-side validation? Is this difference related to how StoreKit 1 (SKPaymentTransaction) and the App Store Server API represent transactions? Is the consistent off-by-one difference between the transaction_id from SKPaymentTransaction and the one recorded in latest_receipt_info an intentional behavior of StoreKit 1's internal transaction ID assignment? Specifically, we are wondering whether StoreKit 1 applies some form of internal offset when delivering the transaction ID to the client, while the App Store server records a different (adjacent) ID in the receipt. If so, is this documented anywhere? Note We are currently in the process of migrating to StoreKit 2, but this behavior was observed while investigating our existing StoreKit 1 implementation. Any clarification would help us better understand the correct transaction model during the migration.
3
1
234
4w
eventDeviceActivityThreshold from DeviceActivity will fire early and block apps after downloading iOS 26.2
A screen time app I'm making has started telling users that their limit was reached even when they're far below their limit for the day (sometimes even at 0 minutes for the day). This issue only started happening after upgrading my software to iOS 26.2. Is this happening to anyone else? If so how have you found any solutions or does anyone know of any changes that could be causing this? Any help would be appreciated.
4
1
729
3w
SKProductsRequest returns 0 products — all identifiers reported as invalid (Capacitor hybrid app)
I'm building a hybrid iOS app using Capacitor with a native Swift IAP bridge (StoreKit 1). My SKProductsRequest consistently returns 0 products, and all product identifiers appear in response.invalidProductIdentifiers. Setup: Capacitor app with custom CAPBridgeViewController subclass handling IAP via SKPaymentQueue and WKScriptMessageHandler 5 products configured in App Store Connect (3 consumables, 2 auto-renewable subscriptions), all "Ready to Submit" Bundle ID matches between Xcode and App Store Connect In-App Purchase capability enabled Paid Apps agreement active Testing on physical iPad Air M3 with Sandbox Tester Products created over 48 hours ago Clean Build Folder performed before each test Product IDs: com.opencompass.basic.monthly com.opencompass.premium.monthly com.opencompass.tokens.50 com.opencompass.tokens.150 com.opencompass.tokens.500 Code snippet: let request = SKProductsRequest(productIdentifiers: Set(productIdentifiers)) request.delegate = self request.start() // Delegate fires, but: // response.products.count == 0 // response.invalidProductIdentifiers == [all 5 IDs] What I've verified: Bundle ID is correct Paid Apps agreement is signed Products are not in "Missing Metadata" state Device is signed into sandbox account Not running on Simulator Has anyone experienced this with a hybrid/Capacitor app? Is there anything specific about how SKProductsRequest resolves identifiers that could differ in a WKWebView-based architecture? Any help appreciated!
0
0
77
4w
Developer Appstore Enrollment in Review - FL44QTK67R., Case Id - 102847803343
My developer enrollment(L297KTAW5F) was initiated on 10March and when the Enrollment in review was completed and when i did the payment in tab, the payment didn't go anywhere and it was totally stuck. Though the payment gone from my account, the enrollment was stuck and later in 3 days, the payment was reverted to my account. So no issues on the payment side. Now again when i opened Developer app, i was asked to do the enrollment again(FL44QTK67R). Now the enrollment is stuck in review and I opened a case id - 102847803343, and I got a email a day later asking to upload few documents which I did immediately. Since then I had been following up on email to update about the enrollment and no response yet. When playstore could do it in 2 days time, a company like apple giving a tough time with no options for a resolution is terrible.
0
0
37
4w
Unable to capture only the cursor in macOS Tahoe
Precondition: In system settings, scale the pointer size up to the max. Our SCScreenshotManager code currently works in macOS 15 and earlier to capture the cursor at it's larger size, but broke in one of the minor releases of macOS Tahoe. The error it produces now is "Failed to start stream due to audio/video capture failure". This only seems to happen with the cursor window, not any others. Another way to get the cursor is with https://developer.apple.com/documentation/appkit/nscursor/currentsystem, but that is now deprecated, which makes me think the capture of the cursor is being blocked deliberately. We see this as a critical loss of functionality for our apps, and could use guidance on what to use instead.
1
16
396
3w
URGENT: No Account Holder Access – Cannot Accept Agreement – Production Blocked
We are facing a critical issue with our Apple Developer account that is currently blocking app releases. Context: Organization account (Apple Developer Program) Account Holder: Ben Kunkel Apple Business Manager integrated with Okta (SCIM) Issue: The original Account Holder was deleted from Apple Business Manager and re-created via SCIM The recreated account now shows as “Staff” (Source: Custom Sync) and cannot be modified In Apple Developer, Ben is still listed as Account Holder but does not see any options to accept agreements or manage the account A transfer request was initiated to me before he left the company, but I am unable to complete identity verification (“Invalid Submission” error) Result: No active Account Holder can take action Unable to accept the updated Apple Developer Program License Agreement App submissions and updates are blocked (production impact) This appears to be a cross-system identity mismatch between Apple Business Manager and Apple Developer due to SCIM provisioning. Has anyone faced a similar issue? Any guidance on resolving this or getting it escalated internally would be greatly appreciated. We already have open cases with Apple Support, but progress has been slow. Thanks in advance.
0
0
28
3w
Explicit dynamic loading of a framework in macOS - recommended approach?
I am working on a cross-platform application where, on Android and Windows, I explicitly load dynamic libraries at runtime (e.g., LoadLibrary/GetProcAddress on Windows and equivalent mechanisms on Android). This allows me to control when and how modules are loaded, and to transfer execution flow from the main executable into the dynamically loaded library. I want to follow a similar approach on macOS (and also iOS) and explicitly load a framework (instead of relying on implicit linking via import). From my exploration so far, I have come across the following options: Using Bundle (NSBundle) - Load framework using: let bundle = Bundle(path: path) try bundle?.load() Access functionality via NSPrincipalClass and @objc methods (class-based entry) Using dlopen + dlsym Load the framework binary and resolve symbols: let handle = dlopen(path, RTLD_NOW) let sym = dlsym(handle, "EntryPoint") Expose Swift functions using @_cdecl Using a hybrid approach (Bundle + dlsym) - Use Bundle for loading and dlsym for symbol access From what I understand: Bundle works well for class-based/plugin-style designs using the Objective-C runtime while dlopen/dlsym works at the symbol level and is closer to what I am doing on other platforms However, my requirement is specifically: Explicit runtime loading (not compile-time linking) Ability to transfer execution flow from the main executable into the dynamically loaded framework **What is the recommended approach on macOS for this kind of explicit dynamic loading, or is implicit loading the way to go? Also, would it differ for interactive and non-interactive apps? ** In what scenarios would Apple recommend using Bundle instead of dlopen? Is there any other methods best for this explicit loading of frameworks on Apple?
3
1
129
3w
Apple continues to reject but no issue on our end
everything is working perfectly fine on my end and I continue to get this message, please help me navigate this. Review date: March 23, 2026 Review Device: iPad Air 11-inch (M3) Version reviewed: 1.0 Guideline 2.1(a) - Performance - App Completeness Issue Description The app exhibited one or more bugs that would negatively impact users. Bug description: When we tried to log in the app was returning to the login page. Review device details: Device type: iPad Air 11-inch (M3) OS version: iPadOS 26.3.1 Internet Connection: Active
0
0
44
4w
UK TAX INFO - alternative terms addendum - showing under tax forms with no visible agreement
Hello everyone, I’m facing a confusing issue in App Store Connect and hoping someone here has encountered this before. Context: • Company developer account (UK-based) • App is free to download • Only optional In-App Purchases (Apple IAP) • No external payments • Using standard App Store distribution • Paid Apps agreement is active • US tax forms (W-8BEN-E) are active Issue: Under Agreements → Tax Forms, I see: United Kingdom Tax Info – Alternative Terms Addendum – Missing Tax Info However: • There is no Alternative Terms Addendum visible under Agreements • I have not intentionally opted into EU DMA Alternative Terms • I do not have a UK VAT number (Apple should be Merchant of Record under standard IAP) Finance Support says they do not support Alternative Terms. Agreements support has not responded yet. Questions: 1. Can the Alternative Terms flag exist only under Tax Forms without a visible agreement? 2. How can a developer revert back to standard App Store terms if this happens? 3. Has anyone had Apple remove this EU DMA backend flag manually? Any guidance or similar experiences would be really appreciated. Thanks in advance
1
1
70
3w
HTTP 500 when attempting to resolve SCM repo connectivity issue.
Hello, I'm unable to kick off builds in Xcode Cloud today due to an error connecting to our SCM repo. "Repository Issue Xcode Cloud is unable to connect to the repository “”. Reconnect the repository to resume builds." I can see that this is due to an HTTP 500 error on the /scm-repositories endpoint, which would normally indicate an issue in Xcode Cloud. If on the contrary this indicates an issue on my side, I'd like to hear details and what the resolution might be. Filed an issue here: FB22314855 (Xcode Cloud: HTTP 500 when connecting to SCM provider)
2
0
166
3w
3rd time doing my account enrolment
Hi all, i'm new here,, and would like to see what I could do differently to get my account fixed. here is my enrollment ID: 3JXRZ62WJK i've had in the past an account that expired, because I did not renew in time my subscription. I did that with email confirmation. then i was requested to submit a new enrolment, which I did and made payment. then to my surprise the account is requiring another enrolment. that's not how I expect this yo work. What could be the reason why?
0
0
27
4w
Please, Apple. I am begging you. Fix the broken Text-To-Speech in macOS
Every new build of macOS 26 further breaks some part of text-to-speech or voice control. I have filed multiple bug reports on this, yet the situation gets worse, not better, with each new build. I am begging you to fix this! I am disabled and rely on these features to work. Accessibility in macOS is more than 50% of my reasons for choosing Macs over Windows. Here's some of what is currently broken: Speak announcements only works if the Samantha voice is selected. If other voices are selected either the announcements don't speak, or they default to the Samantha voice. This became broken with 26.1. Announce the time only works with some voices. I would like to use Australian English Siri 2 but with that voice selected it defaults to Samantha. This became broken with 26.4. With voice control enabled there are two menu bar icons. The blue voice control icon and an orange microphone "an application is accessing the microphone" icon. This orange icon started appearing with 26.3. For four years of macOS releases, the orange warning didn't apply to system services. And note that with voice control enabled on iOS there is no orange icon. It wastes valuable menu bar space and defeats its purpose. With that orange icon always being there I have no indication if a nefarious app starts recording me. This became broken with 26.3. Overlay shows numbers even when it is set to none. This has been broken since at least 14.0. I don't remember if it was broken in prior versions but it has been broken in every version since 14.0. The voice control control center widget is defective. If voice control is not in the menu bar (for example if I've said "Siri turn off voice control") using the control center widget to turn it on brings about the orange icon, but not the blue icon actually used for controlling voice control. If you do have the blue voice control icon and use control center to turn off voice control the blue icon stays but voice control is not enabled. This became broken in 26.0, was fixed in 26.2, broke again in 26.4. When using voice control to edit text (aka dictation mode) saying "go to the end of the line" invariably goes to the beginning of the line. Once in a blue moon it will go to the end, but there is no rhyme or reason and it's rare that it does. Since this bug was added it has worked correctly exactly twice. This became broken in 26.3 (possibly 26.4). I know I am missing some issues. Voice control and text-to-speech have new bugs with each new build of macOS 26. My main Mac is being repaired and once I get it back I'll be installing macOS 15 Sequoia on it because of these issues. These issues stop me from buying a new Mac because any new Mac will only run the broken macOS 26. I file bug reports on each build when I discover another new issue, but these reports seemingly go unread. I would suggest Apple get a focus group of disabled people together and do research into how we use macOS. Find what's broken and what works. And if Apple does this I would be glad to be a part of that group. My place, or yours. Accessibility at one time was something Apple was proud of. It was some Apple showed off. But now, I'm not so sure. It's starting to look like Apple doesn't care. I hope I'm wrong, and that Apple does care, so... Please, Apple. I am begging you. Fix broken Text-To-Speech and Voice Control!
9
2
2.7k
3w
Cannot receive 2FA code after registered email was deleted – locked out of Developer account
My Apple Developer account was registered with a company Gmail address that has since been permanently deleted. Now when I try to log in, I reach the 2FA step but the verification code is no longer sent to my registered phone number. I am completely locked out. Has anyone experienced this or knows how to contact Apple to recover access?
Replies
0
Boosts
0
Views
45
Activity
3w
Does a Notification Service Extension continue executing network requests after calling contentHandler?
In my Notification Service Extension I'm doing two things in parallel inside didReceive(_:withContentHandler:): Downloading and attaching a rich media image (the standard content modification work) Firing a separate analytics POST request (fire-and-forget I don't wait for its response) Once the image is ready, I call contentHandler(modifiedContent). The notification renders correctly. What I've observed (via Proxyman) is that the analytics POST request completes successfully after contentHandler has already been called. My question: Why does this network request complete? Is it because: (a) The extension process is guaranteed to stay alive for the full 30-second budget, even after contentHandler is called so my URLSession task continues executing during the remaining time? (b) The extension process loses CPU time after contentHandler but remains in memory for process reuse and the request completes at the socket/OS level without my completion handler ever firing? (c) Something else entirely? I'd like to understand the documented behaviour so I can decide whether it's safe to rely on fire-and-forget network requests completing after contentHandler, or whether I need to ensure the request finishes before calling contentHandler.
Replies
1
Boosts
0
Views
139
Activity
3w
iOS26 系统锁屏一段时间,蓝牙钥匙和数字钥匙都不能正常工作
Recently, we have received continuous feedback from users that the Bluetooth key and digital key are not working properly or are not functioning; Through analysis of App logs, it was found that after the iOS system locks the screen, the iBeacon background keep-alive function fails, Bluetooth connection also fails, and system callbacks cannot be obtained; the digital key also fails, and it fails simultaneously with the Bluetooth key; We have checked the specific permission configuration and it aligns with the recommended configuration in the official documentation, with no abnormalities. Although this type of issue is not a widespread problem, it has been continuously reported by users and is very troublesome. Does the official team have a clear explanation? Why are both Bluetooth keys and digital keys affected after the app is locked? Digital keys should be less affected. The following is a log analysis of a certain user 1: Step 2, the App entered the background; Step 3, the App's Bluetooth was disconnected; 3-4 The App remained in the background for 5 hours before being launched again 2: This type of issue is due to the system disconnecting the Bluetooth connection when the app enters the background; most likely, the app has been killed by the system when the user gets out of the car, and it has not been revived; the car key also does not work; During the time period from 2026-03-23T17:59:33 to 2026-03-23T21:23:49, why didn't carkey work properly 1:2026-03-23T16:52:11.676+08:00 new_carkey: key:, rssi:-89, AUTH_OK 2:2026-03-23T17:55:51.782+08:00 new_carkey: AppMonitor appDidEnterBackground bleStatus: success(Nimbus.NIOCarBLEKey.State.connected) 3:2026-03-23T17:59:33.747+08:00 new_carkey: ibeacon: didExitRegion, vid: NIO BLE Key, uuid: *** bleStatus: failure(Error Domain=CBErrorDomain Code=15 ""Failed to encrypt the connection, the connection has timed out unexpectedly."" UserInfo={key_device_name=NIO Key 0201 , NSLocalizedDescription=Failed to encrypt the connection, the connection has timed out unexpectedly., vehicle_id=}) " 4:2026-03-23T21:23:49.920+08:00 new_carkey: AppMonitor appDidFinishLaunching: [:] bleStatus: success(Nimbus.NIOCarBLEKey.State.disconnected) 5:2026-03-23T22:01:51.235+08:00 new_carkey: key:****, rssi:-90, AUTH_OK
Replies
0
Boosts
0
Views
112
Activity
4w
Custom Reports GET API returning 403 Forbidden since March 16, 2026 — POST still works
Hi Apple Developer Community, Since March 16, 2026, our integration with the Apple Ads Campaign Management API (v5) is returning 403 Forbidden on all GET requests to the custom-reports endpoint, while POST requests to create reports continue to work without any issues. Environment API Version: v5 Base URL: https://api.searchads.apple.com/api/v5/ Authentication: OAuth 2.0 (Bearer token — token generation works fine) API User Role: API Account Manager What's broken GET /api/v5/custom-reports/63638557 → 403 Forbidden The response is raw HTML from Apple's gateway, not a JSON API error: <html> <head><title>403 Forbidden</title></head> <body> <center><h1>403 Forbidden</h1></center> <hr><center>Apple</center> </body> </html> This indicates the request is being blocked at the reverse proxy / infrastructure level and never reaches the API application layer. A proper API-level authorization error would return JSON with messageCode and message fields. What still works POST creates report successfully POST /api/v5/custom-reports → 200 OK Response: { "data": { "id": 63638557, "name": "Impression_Share_Report_2026-03-22_daily", "startTime": "2026-02-21", "endTime": "2026-03-22", "granularity": "DAILY", "downloadUri": null, "dimensions": ["appName", "adamId", "countryOrRegion", "searchTerm"], "metrics": ["lowImpressionShare", "highImpressionShare", "rank", "searchPopularity"], "selector": { "conditions": [] }, "state": "QUEUED", "creationTime": "2026-03-23T10:05:25.537", "modificationTime": "2026-03-23T10:05:25.537" }, "pagination": null, "error": null } The report is created and enters QUEUED state with downloadUri: null, which is expected. The normal flow is to poll the GET endpoint until state becomes COMPLETED and downloadUri is populated. But the GET endpoint now returns a 403 at the gateway level, making it impossible to retrieve or download the report. Other endpoints confirmed working POST to standard reporting endpoints (e.g., /api/v5/reports/campaigns/{campaignId}/keywords) → 200 OK All other campaign management GET endpoints (campaigns, ad groups, keywords) → 200 OK OAuth token generation → works fine What we've verified Bearer token is valid and not expired (other endpoints work with the same token) X-AP-Context: orgId= header is present and correct in all requests Accept: application/json and Content-Type: application/json headers are set The reportId (63638557) is a valid ID returned by the successful POST API user has API Account Manager role (not Read-only) No changes were made to our code or credentials — this started failing on March 16 with no code deployment on our side Tested with multiple report IDs (both new and previously created) — all return the same HTML 403 Timeline Before March 16, 2026: Full POST + GET flow for custom reports worked without issues March 16, 2026: GET requests began returning 403. POST requests unaffected. March 18, 2026: We noticed reports about Custom Reports being replaced by Insights Our suspicion We're aware that Apple has introduced the Insights analytics tool as a replacement for Custom Reports. The timing of our 403 errors aligns exactly with this transition. The fact that the 403 is an HTML gateway response (not a JSON API error) suggests the GET route has been deliberately removed from the API gateway configuration. However, we could not find any API changelog, deprecation notice, or migration guide documenting: Whether the custom-reports GET endpoint has been intentionally removed What the replacement API endpoint is for programmatically retrieving report data (especially Impression Share reports) Whether there is a migration timeline or if this is a permanent change Why POST still works if the feature is being deprecated What we need Confirmation: Is the 403 on custom-reports GET intentional due to the Insights migration, or is this a bug/misconfiguration? Migration path: If Custom Reports API is being deprecated, what is the new API endpoint for retrieving Impression Share data programmatically? Is there an Insights API? Timeline: If this is a phased deprecation, when will the POST endpoint also stop working? Documentation: Is there an updated API reference or migration guide? Impact This is a production-breaking issue for our data pipeline. We rely on the POST → GET → download flow to pull Impression Share data (impression share, rank, search popularity by search term and country) for downstream analytics. The standard reporting POST endpoints (/api/v5/reports/campaigns/...) do not support Impression Share metrics, so there is currently no API workaround for this specific data. Any guidance from Apple engineers or anyone in the community experiencing the same issue would be greatly appreciated. Thanks in advance.
Replies
1
Boosts
1
Views
117
Activity
3w
TestFlight In-App Purchase (Consumable) gets stuck when using real Apple ID – cannot repurchase even after finishTransaction
**Environment Platform:** iOS Distribution: TestFlight Product type: Consumable In-App Purchase Account used for testing: Real Apple ID (not Sandbox) StoreKit: StoreKit 1 iOS version: iOS 17+ (also reproduced on earlier versions) Issue Description We are encountering an issue when testing consumable in-app purchases in a TestFlight build using a real Apple ID. Under normal circumstances, consumable products should be purchasable repeatedly. However, in TestFlight, after a successful purchase flow, the same product may become unavailable for repurchase, and the transaction appears to be stuck, even though: • finishTransaction: is correctly called • The transaction state is .purchased • No pending transactions are left in the payment queue Once this happens, subsequent purchase attempts result in behavior similar to a non-consumable product (e.g. “already purchased” or no purchase UI shown).
Replies
4
Boosts
0
Views
276
Activity
4w
Different transaction IDs for the same purchase between SKPaymentTransaction and receipt latest_receipt_info
Hello, I am investigating a case where two different transaction IDs appear to refer to the same purchase, and I would like clarification on whether this behavior is expected. Additional context StoreKit version: StoreKit 1 (SKPaymentTransaction) Environment: Production Product type: Auto-renewable subscription Transaction sources The values are obtained from the following APIs: transaction_id from SKPaymentTransaction https://developer.apple.com/documentation/storekit/skpaymentqueue receipt_data from the App Store receipt https://developer.apple.com/documentation/foundation/bundle/appstorereceipturl Observed behavior After an In-App Purchase completes, the app receives: a transaction_id from SKPaymentTransaction the corresponding receipt_data for the purchase When inspecting the receipt, the transaction_id inside latest_receipt_info differs from the transaction_id received directly from the purchase transaction. For clarity: A = transaction_id received from the purchase flow (SKPaymentTransaction) A' = transaction_id found in receipt_data.latest_receipt_info The two values are different, but they differ only by 1. Additional observation The original_transaction_id for A and A' is identical, which suggests that both transaction IDs belong to the same subscription purchase chain. Pattern observation on the ID difference We have observed that the difference between A and A' is consistently exactly 1 (i.e., A' = A + 1) across multiple transactions, not just a single case. This appears to be a reproducible pattern rather than a coincidence. This observation raises an additional question (Question 6 below). API verification When calling: GET /inApps/v1/transactions/{transactionId} Both A and A' return what appears to be the same purchase record. The response data is effectively identical except for the transactionId field. However, when calling: GET /inApps/v2/history/{transactionId} A does not appear in the transaction history only A' appears in the history response Questions If A does not appear in transaction history, where does this transaction ID originate from? Why does Get Transaction Info (/inApps/v1/transactions/{transactionId}) return a valid response for A even though it is not present in the transaction history? Why do A and A' both resolve to what appears to be the same purchase? In this situation, which transaction ID should be treated as the canonical transaction ID for server-side validation? Is this difference related to how StoreKit 1 (SKPaymentTransaction) and the App Store Server API represent transactions? Is the consistent off-by-one difference between the transaction_id from SKPaymentTransaction and the one recorded in latest_receipt_info an intentional behavior of StoreKit 1's internal transaction ID assignment? Specifically, we are wondering whether StoreKit 1 applies some form of internal offset when delivering the transaction ID to the client, while the App Store server records a different (adjacent) ID in the receipt. If so, is this documented anywhere? Note We are currently in the process of migrating to StoreKit 2, but this behavior was observed while investigating our existing StoreKit 1 implementation. Any clarification would help us better understand the correct transaction model during the migration.
Replies
3
Boosts
1
Views
234
Activity
4w
eventDeviceActivityThreshold from DeviceActivity will fire early and block apps after downloading iOS 26.2
A screen time app I'm making has started telling users that their limit was reached even when they're far below their limit for the day (sometimes even at 0 minutes for the day). This issue only started happening after upgrading my software to iOS 26.2. Is this happening to anyone else? If so how have you found any solutions or does anyone know of any changes that could be causing this? Any help would be appreciated.
Replies
4
Boosts
1
Views
729
Activity
3w
SKProductsRequest returns 0 products — all identifiers reported as invalid (Capacitor hybrid app)
I'm building a hybrid iOS app using Capacitor with a native Swift IAP bridge (StoreKit 1). My SKProductsRequest consistently returns 0 products, and all product identifiers appear in response.invalidProductIdentifiers. Setup: Capacitor app with custom CAPBridgeViewController subclass handling IAP via SKPaymentQueue and WKScriptMessageHandler 5 products configured in App Store Connect (3 consumables, 2 auto-renewable subscriptions), all "Ready to Submit" Bundle ID matches between Xcode and App Store Connect In-App Purchase capability enabled Paid Apps agreement active Testing on physical iPad Air M3 with Sandbox Tester Products created over 48 hours ago Clean Build Folder performed before each test Product IDs: com.opencompass.basic.monthly com.opencompass.premium.monthly com.opencompass.tokens.50 com.opencompass.tokens.150 com.opencompass.tokens.500 Code snippet: let request = SKProductsRequest(productIdentifiers: Set(productIdentifiers)) request.delegate = self request.start() // Delegate fires, but: // response.products.count == 0 // response.invalidProductIdentifiers == [all 5 IDs] What I've verified: Bundle ID is correct Paid Apps agreement is signed Products are not in "Missing Metadata" state Device is signed into sandbox account Not running on Simulator Has anyone experienced this with a hybrid/Capacitor app? Is there anything specific about how SKProductsRequest resolves identifiers that could differ in a WKWebView-based architecture? Any help appreciated!
Replies
0
Boosts
0
Views
77
Activity
4w
Developer Appstore Enrollment in Review - FL44QTK67R., Case Id - 102847803343
My developer enrollment(L297KTAW5F) was initiated on 10March and when the Enrollment in review was completed and when i did the payment in tab, the payment didn't go anywhere and it was totally stuck. Though the payment gone from my account, the enrollment was stuck and later in 3 days, the payment was reverted to my account. So no issues on the payment side. Now again when i opened Developer app, i was asked to do the enrollment again(FL44QTK67R). Now the enrollment is stuck in review and I opened a case id - 102847803343, and I got a email a day later asking to upload few documents which I did immediately. Since then I had been following up on email to update about the enrollment and no response yet. When playstore could do it in 2 days time, a company like apple giving a tough time with no options for a resolution is terrible.
Replies
0
Boosts
0
Views
37
Activity
4w
No Sales Data since 3/16/2026
I am not seeing any sales data in the app store since 3/16/2026 but there are units sold and proceeds displayed. Anyone from Apple to give an update? Any other developers seeing the same problem?
Replies
0
Boosts
0
Views
49
Activity
4w
Unable to capture only the cursor in macOS Tahoe
Precondition: In system settings, scale the pointer size up to the max. Our SCScreenshotManager code currently works in macOS 15 and earlier to capture the cursor at it's larger size, but broke in one of the minor releases of macOS Tahoe. The error it produces now is "Failed to start stream due to audio/video capture failure". This only seems to happen with the cursor window, not any others. Another way to get the cursor is with https://developer.apple.com/documentation/appkit/nscursor/currentsystem, but that is now deprecated, which makes me think the capture of the cursor is being blocked deliberately. We see this as a critical loss of functionality for our apps, and could use guidance on what to use instead.
Replies
1
Boosts
16
Views
396
Activity
3w
URGENT: No Account Holder Access – Cannot Accept Agreement – Production Blocked
We are facing a critical issue with our Apple Developer account that is currently blocking app releases. Context: Organization account (Apple Developer Program) Account Holder: Ben Kunkel Apple Business Manager integrated with Okta (SCIM) Issue: The original Account Holder was deleted from Apple Business Manager and re-created via SCIM The recreated account now shows as “Staff” (Source: Custom Sync) and cannot be modified In Apple Developer, Ben is still listed as Account Holder but does not see any options to accept agreements or manage the account A transfer request was initiated to me before he left the company, but I am unable to complete identity verification (“Invalid Submission” error) Result: No active Account Holder can take action Unable to accept the updated Apple Developer Program License Agreement App submissions and updates are blocked (production impact) This appears to be a cross-system identity mismatch between Apple Business Manager and Apple Developer due to SCIM provisioning. Has anyone faced a similar issue? Any guidance on resolving this or getting it escalated internally would be greatly appreciated. We already have open cases with Apple Support, but progress has been slow. Thanks in advance.
Replies
0
Boosts
0
Views
28
Activity
3w
Unable to Drink Tea Due to Slow Cooling Performance
Hello, I’m experiencing a performance issue: I poured some tea, but it’s taking too long to cool down, so I can’t start drinking it. I tried moving the cup to the balcony, but the latency is still high. Could you please advise how to speed up the process?
Replies
1
Boosts
0
Views
248
Activity
4w
Explicit dynamic loading of a framework in macOS - recommended approach?
I am working on a cross-platform application where, on Android and Windows, I explicitly load dynamic libraries at runtime (e.g., LoadLibrary/GetProcAddress on Windows and equivalent mechanisms on Android). This allows me to control when and how modules are loaded, and to transfer execution flow from the main executable into the dynamically loaded library. I want to follow a similar approach on macOS (and also iOS) and explicitly load a framework (instead of relying on implicit linking via import). From my exploration so far, I have come across the following options: Using Bundle (NSBundle) - Load framework using: let bundle = Bundle(path: path) try bundle?.load() Access functionality via NSPrincipalClass and @objc methods (class-based entry) Using dlopen + dlsym Load the framework binary and resolve symbols: let handle = dlopen(path, RTLD_NOW) let sym = dlsym(handle, "EntryPoint") Expose Swift functions using @_cdecl Using a hybrid approach (Bundle + dlsym) - Use Bundle for loading and dlsym for symbol access From what I understand: Bundle works well for class-based/plugin-style designs using the Objective-C runtime while dlopen/dlsym works at the symbol level and is closer to what I am doing on other platforms However, my requirement is specifically: Explicit runtime loading (not compile-time linking) Ability to transfer execution flow from the main executable into the dynamically loaded framework **What is the recommended approach on macOS for this kind of explicit dynamic loading, or is implicit loading the way to go? Also, would it differ for interactive and non-interactive apps? ** In what scenarios would Apple recommend using Bundle instead of dlopen? Is there any other methods best for this explicit loading of frameworks on Apple?
Replies
3
Boosts
1
Views
129
Activity
3w
Apple continues to reject but no issue on our end
everything is working perfectly fine on my end and I continue to get this message, please help me navigate this. Review date: March 23, 2026 Review Device: iPad Air 11-inch (M3) Version reviewed: 1.0 Guideline 2.1(a) - Performance - App Completeness Issue Description The app exhibited one or more bugs that would negatively impact users. Bug description: When we tried to log in the app was returning to the login page. Review device details: Device type: iPad Air 11-inch (M3) OS version: iPadOS 26.3.1 Internet Connection: Active
Replies
0
Boosts
0
Views
44
Activity
4w
UK TAX INFO - alternative terms addendum - showing under tax forms with no visible agreement
Hello everyone, I’m facing a confusing issue in App Store Connect and hoping someone here has encountered this before. Context: • Company developer account (UK-based) • App is free to download • Only optional In-App Purchases (Apple IAP) • No external payments • Using standard App Store distribution • Paid Apps agreement is active • US tax forms (W-8BEN-E) are active Issue: Under Agreements → Tax Forms, I see: United Kingdom Tax Info – Alternative Terms Addendum – Missing Tax Info However: • There is no Alternative Terms Addendum visible under Agreements • I have not intentionally opted into EU DMA Alternative Terms • I do not have a UK VAT number (Apple should be Merchant of Record under standard IAP) Finance Support says they do not support Alternative Terms. Agreements support has not responded yet. Questions: 1. Can the Alternative Terms flag exist only under Tax Forms without a visible agreement? 2. How can a developer revert back to standard App Store terms if this happens? 3. Has anyone had Apple remove this EU DMA backend flag manually? Any guidance or similar experiences would be really appreciated. Thanks in advance
Replies
1
Boosts
1
Views
70
Activity
3w
Swift Student Challenge Results
Any idea when will the results of Swift Student Challenge be declared?
Replies
2
Boosts
1
Views
421
Activity
4w
HTTP 500 when attempting to resolve SCM repo connectivity issue.
Hello, I'm unable to kick off builds in Xcode Cloud today due to an error connecting to our SCM repo. "Repository Issue Xcode Cloud is unable to connect to the repository “”. Reconnect the repository to resume builds." I can see that this is due to an HTTP 500 error on the /scm-repositories endpoint, which would normally indicate an issue in Xcode Cloud. If on the contrary this indicates an issue on my side, I'd like to hear details and what the resolution might be. Filed an issue here: FB22314855 (Xcode Cloud: HTTP 500 when connecting to SCM provider)
Replies
2
Boosts
0
Views
166
Activity
3w
3rd time doing my account enrolment
Hi all, i'm new here,, and would like to see what I could do differently to get my account fixed. here is my enrollment ID: 3JXRZ62WJK i've had in the past an account that expired, because I did not renew in time my subscription. I did that with email confirmation. then i was requested to submit a new enrolment, which I did and made payment. then to my surprise the account is requiring another enrolment. that's not how I expect this yo work. What could be the reason why?
Replies
0
Boosts
0
Views
27
Activity
4w
Please, Apple. I am begging you. Fix the broken Text-To-Speech in macOS
Every new build of macOS 26 further breaks some part of text-to-speech or voice control. I have filed multiple bug reports on this, yet the situation gets worse, not better, with each new build. I am begging you to fix this! I am disabled and rely on these features to work. Accessibility in macOS is more than 50% of my reasons for choosing Macs over Windows. Here's some of what is currently broken: Speak announcements only works if the Samantha voice is selected. If other voices are selected either the announcements don't speak, or they default to the Samantha voice. This became broken with 26.1. Announce the time only works with some voices. I would like to use Australian English Siri 2 but with that voice selected it defaults to Samantha. This became broken with 26.4. With voice control enabled there are two menu bar icons. The blue voice control icon and an orange microphone "an application is accessing the microphone" icon. This orange icon started appearing with 26.3. For four years of macOS releases, the orange warning didn't apply to system services. And note that with voice control enabled on iOS there is no orange icon. It wastes valuable menu bar space and defeats its purpose. With that orange icon always being there I have no indication if a nefarious app starts recording me. This became broken with 26.3. Overlay shows numbers even when it is set to none. This has been broken since at least 14.0. I don't remember if it was broken in prior versions but it has been broken in every version since 14.0. The voice control control center widget is defective. If voice control is not in the menu bar (for example if I've said "Siri turn off voice control") using the control center widget to turn it on brings about the orange icon, but not the blue icon actually used for controlling voice control. If you do have the blue voice control icon and use control center to turn off voice control the blue icon stays but voice control is not enabled. This became broken in 26.0, was fixed in 26.2, broke again in 26.4. When using voice control to edit text (aka dictation mode) saying "go to the end of the line" invariably goes to the beginning of the line. Once in a blue moon it will go to the end, but there is no rhyme or reason and it's rare that it does. Since this bug was added it has worked correctly exactly twice. This became broken in 26.3 (possibly 26.4). I know I am missing some issues. Voice control and text-to-speech have new bugs with each new build of macOS 26. My main Mac is being repaired and once I get it back I'll be installing macOS 15 Sequoia on it because of these issues. These issues stop me from buying a new Mac because any new Mac will only run the broken macOS 26. I file bug reports on each build when I discover another new issue, but these reports seemingly go unread. I would suggest Apple get a focus group of disabled people together and do research into how we use macOS. Find what's broken and what works. And if Apple does this I would be glad to be a part of that group. My place, or yours. Accessibility at one time was something Apple was proud of. It was some Apple showed off. But now, I'm not so sure. It's starting to look like Apple doesn't care. I hope I'm wrong, and that Apple does care, so... Please, Apple. I am begging you. Fix broken Text-To-Speech and Voice Control!
Replies
9
Boosts
2
Views
2.7k
Activity
3w