Overview

Post

Replies

Boosts

Views

Activity

Custom Pricing and Features for Non-Renewing Subscriptions
I hope you are doing well. I am reaching out to inquire about a few aspects of implementing non-renewing subscriptions in our app. Firstly, we have encountered a limitation in App Store Connect where the maximum price tier available for non-renewing subscriptions in Euros is €1199. However, our product is priced at €1799. Could anyone please advise how we can handle this scenario? Is there a way to request custom pricing beyond the available tiers, or is there an alternative approach you would recommend? Additionally, we would like clarification on the following: Promo Codes: Are promo codes supported for each non-renewing subscription product? If so, how can we configure and distribute them? Installment Payments: Is it possible to enable installment-based payments for non-renewing subscriptions? If yes, could you guide us on how to set this up or if there are any prerequisites?
1
0
455
4w
WorkoutKit WorkoutScheduler sync Broken with iOS 18.2 beta
WorkoutKit WorkoutScheduler seems broken with the first beta of iOS 18.2. I have tested using my app from Xcode and the one that is on the App Store (and working properly on other devices), and it's not working with this new beta of iOS. They appears in WorkoutScheduler.shared.scheduledWorkouts, but not on the watch. I even tried with other apps that do the same with Manual add to Apple Watch with SwiftUI workoutPreview work. Xcode 16.0 iOS 18.2 Beta 1 WatchOS 11.1
30
6
2.3k
4w
How To Install on a Personal Device
Developer Help says: Do I need to enroll in the Apple Developer Program to install apps on a device? No. You can install apps on your personal device with Xcode. Yet Xcode 26.4 says: Signing for "Never Forget" requires a development team. Select a development team in the Signing & Capabilities editor. Can someone help me understand this? A developer account isn't required, yet a development team (in a developer account) is? 🤷
1
0
70
3w
Notarization stuck in “In Progress” for all submissions since April 4th
Hi, I’ve been successfully using notarization with notarytool for over a month (20+ submissions, all accepted within minutes). On April 4th around 07:30 (UTC), my last submissions were accepted without any issue: createdDate: 2026-04-04T07:29:08.877Z id: 38d6e6e0-1183-4fe8-ae4a-3036e1f0f025 name: MacOptimizers.dmg status: Accepted -------------------------------------------- createdDate: 2026-04-04T07:26:36.357Z id: 2abf8289-6e00-4b16-9991-fbda7e66a179 name: macopt_notary_payload.UdtfA3 status: Accepted -------------------------------------------- Later that same day (around 16:30 UTC), after minor bug fixes and UI changes, I submitted a new build. Since then, all notarization requests remain stuck in “In Progress” for more than 48 hours: -------------------------------------------- createdDate: 2026-04-05T07:13:03.369Z id: b4872e7a-e2b5-485e-9223-09f3ed94958f name: macopt_notary_payload.mZls1y status: In Progress -------------------------------------------- createdDate: 2026-04-04T20:07:35.937Z id: 375408f2-3c0a-455e-88a1-9cd08ce7dc35 name: macopt_notary_payload.CvrZNt status: In Progress -------------------------------------------- createdDate: 2026-04-04T17:09:47.481Z id: dad888b3-6aff-4c54-9608-da1f86e44db7 name: macopt_notary_payload.IH0RDr status: In Progress -------------------------------------------- createdDate: 2026-04-04T16:28:03.086Z id: 9e129b21-e682-48ce-baa7-8d2d77051bac name: macopt_notary_payload.GsrSa6 status: In Progress No errors are returned, and notarytool log is not yet available. Is this expected behavior (e.g. extended review), or could there be an issue affecting notarization for my team? Thanks for your help.
8
0
1.2k
4w
Xcode Signing & Capabilities Errors
Getting a couple of errors on the Signing & Capabilities section in Xcode when trying to provision my iPhone for on-device prototyping. "Communication with Apple failed Your team has no devices from which to generate a provisioning profile. Connect a device to use or manually add device IDs in Certificates, Identifiers & Profiles. https://developer.apple.com/account/" "No profiles for 'com.danieljbuckley.Throwaway' were found Xcode couldn't find any iOS App Development provisioning profiles matching 'com.danieljbuckley.Throwaway'." Any ideas on how to resolve this?
1
0
51
4w
Enrollment Pending — Payment made from different Apple Account
Hi everyone, I am writing regarding my enrollment which is currently showing as Pending. The payment of 99USD was from other Apple account, but the enrollment was submitted from my account. Case ID is 102866900911. Payment details: Date: 11 April 2026 Order ID: MT5786ZXVV Document: 716118431350 Could any Apple staff please activate my account? Thank you, Alisher
0
1
69
3w
AVContentKeySession: Cannot re-fetch content key once obtained — expected behavior?
We are developing a video streaming app that uses AVContentKeySession with FairPlay Streaming. Our implementation supports both online playback (non-persistable keys) and offline playback (persistable keys). We have observed the following behavior: Once a content key has been obtained for a given Content Key ID, AVContentKeySession does not trigger contentKeySession(_:didProvide:) again for that same Key ID We also attempted to explicitly call processContentKeyRequest(withIdentifier:initializationData:options:) on the session to force a new key request for the same identifier, but this did not result in the delegate callback being fired again. The session appears to consider the key already resolved and silently ignores the request. This means that if a user first plays content online (receiving a non-persistable key), and later wants to download the same content for offline use (requiring a persistable key), the delegate callback is not fired again, and we have no opportunity to request a persistable key. Questions Is this the expected behavior? Specifically, is it by design that AVContentKeySession caches the key for a given Key ID and does not re-request it — even when processContentKeyRequest(withIdentifier:) is explicitly called? Should we use distinct Content Key IDs for persistable vs. non-persistable keys? For example, if the same piece of content can be played both online and offline, is the recommended approach to have the server provide different EXT-X-KEY URIs (and thus different key identifiers) for the streaming and download variants? Is there a supported way to force a fresh key request for a Key ID that has already been resolved — for example, to upgrade from a non-persistable to a persistable key? Environment iOS 18+ AVContentKeySession(keySystem: .fairPlayStreaming) Any guidance on the recommended approach for supporting both streaming and offline playback for the same content would be greatly appreciated.
1
0
389
4w
Mac Catalyst App Failed Registering Bundle Identifier
Hi there, New to this forum. I have an iOS/iPadOS app already published in the App Store, and it works great as a Mac Catalyst app on my Mac. However when uploading to App Store Connect, I get the message: Failed Registering Bundle Identifier The app identifier "maccatalyst.nl.lai.prep-app" cannot be registered to your development team because it is not available. Change your bundle identifier to a unique string to try again. So the organizer adds the maccatalyst in front of the Bundle Identifier automatically, but for some reason I get the message it's not available. I've already added the macOS App as a platform on App Store Connect. The Bundle ID (nl.lai.prep-app) is obviously registered as the app is already available on iOS/iPadOS and I have enabled 'Mac Catalyst' in my App id Configuration on the developer portal. In Xcode macOS (Mac Catalyst) has been added as a destination. I contacted developer support, but they couldn't see anything wrong 🤷‍♂️ and suggested I would ask the developer community on the developer forum for advice, so here I am. Who has suggestions on what I should do?
3
0
66
3w
Xcode 26.4: xcodebuild test crashes on iOS 15.2 Simulators before XCTest bootstrap due to ResultDataPublisher missing Foundation.URLRequest.httpMethod symbol
I’m seeing a crash when running XCTest on iOS 15.2 Simulators with Xcode 26.4. The test bundle never starts. xctest crashes before establishing the XCTest connection. This appears to be a regression from Xcode 26.2. The same test flow worked with Xcode 26.2, but crashes with Xcode 26.4. This does not appear to be caused by my app or package code. I can reproduce it with a minimal Swift Package that only imports Foundation and has one XCTest case using URLRequest.httpMethod. Environment: Xcode with failure: 26.4 Xcode that worked: 26.2 macOS: 26.2 Destinations tested: iPhone SE (2nd generation), iOS 15.2 Simulator iPad mini (6th generation), iOS 15.2 Simulator Test command: xcodebuild test Swift Package deployment target: iOS 15.2 Swift tools version: 6.1 Minimal reproduction package: Package.swift // swift-tools-version:6.1 import PackageDescription let package = Package( name: "FoundationOnlyRepro", platforms: [.iOS("15.2")], products: [ .library( name: "FoundationOnlyRepro", targets: ["FoundationOnlyRepro"] ) ], targets: [ .target(name: "FoundationOnlyRepro"), .testTarget( name: "FoundationOnlyReproTests", dependencies: ["FoundationOnlyRepro"] ) ], swiftLanguageModes: [.v6] ) Sources/FoundationOnlyRepro/FoundationOnlyRepro.swift import Foundation public struct FoundationOnlyRepro { public init() {} public func makeRequest() -> URLRequest { var request = URLRequest(url: URL(string: "https://example.invalid")!) request.httpMethod = "GET" return request } } Tests/FoundationOnlyReproTests/FoundationOnlyReproTests.swift import XCTest import Foundation @testable import FoundationOnlyRepro final class FoundationOnlyReproTests: XCTestCase { func testURLRequestHTTPMethod() { let request = FoundationOnlyRepro().makeRequest() XCTAssertEqual(request.httpMethod, "GET") } } Command used: xcodebuild test \ -scheme FoundationOnlyRepro \ -destination 'platform=iOS Simulator,name=iPhone SE (2nd generation),OS=15.2' \ -derivedDataPath /tmp/rdp-dd \ -quiet The same kind of crash also occurs when using an iPad mini (6th generation) iOS 15.2 Simulator destination. Result: Testing failed: xctest (...) encountered an error (Early unexpected exit, operation never finished bootstrapping - no restart will be attempted. (Underlying Error: Test crashed with signal abrt before establishing connection.)) ** TEST FAILED ** The diagnostic stderr shows: dyld[28688]: Symbol not found: _$s10Foundation10URLRequestV10httpMethodSSSgvs Referenced from: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/ResultDataPublisher.framework/ ResultDataPublisher Expected in: /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 15.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Foundation.framework/Foundation Demangling the missing symbol: xcrun swift-demangle '_$s10Foundation10URLRequestV10httpMethodSSSgvs' Output: Foundation.URLRequest.httpMethod.setter : Swift.String? I also checked the iOS 15.2 simulator runtime. The symbol appears to exist in: /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 15.2.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift/libswiftFoundation.dylib but ResultDataPublisher.framework appears to be resolving it from: .../System/Library/Frameworks/Foundation.framework/Foundation This suggests the crash is in Xcode’s XCTest/result publishing infrastructure, not in the app/test bundle. Questions: Is Xcode 26.4 + iOS 15.2 Simulator + xcodebuild test expected to be supported? Is there a supported workaround to disable or avoid ResultDataPublisher.framework for command-line XCTest runs?
1
0
146
4w
Developer ID Installer cert not usable for pkg signing (no Code Signing / 0 identities)
Hello! We built a macOS .pkg using pkgbuild (contains a DMG + postinstall bash script). The pkg works locally on the build machine but fails on other devices manually / via MDM unless signed. We tried signing with a Developer ID Installer certificate, but: security find-identity -p codesigning -v → 0 valid identities security find-identity -v → shows the cert Private key is present in Keychain OpenSSL check shows: X509v3 Extended Key Usage: Critical (Expected one might be: Code Signing) We recreated CSR + cert multiple times (G2 Sub-CA), ensured Login keychain, unlocked keychain, etc., but same result. Question: Why is the Developer ID Installer cert missing Code Signing usage and not recognized for signing? Is there any account restriction or step we might be missing? Any recommendations on resolving this issue. Thanks!
1
0
446
4w
Subscription failure in 26.4, 26.4.1
We have a user from Asia whose subscription failed to be detected by our app. On 26.4. They also tried revoking the yearly subscription and activating a monthly. Payment ok and the device reported that the subscription is active. Our code relies on Transaction.currentEntitlements in StoreKit, which seems to be broken, at least for this user. None of these worked: Installing iOS 26.4.1 Reinstalling our app Logging out and in from iCloud. Hard device reset Full iOS reinstall. User finally gave up and got a refund. I am reporting here in case other apps experienced similar problems. This discussion mentions that a regression in 26.4 might have contributed to the issue which is supposed to be fixed in 26.4.1. ( https://developer.apple.com/forums/thread/820562?answerId=883682022#883682022 ) The issue may have persisted or left the entitlements corrupt for this particular user. Hoping that the issue is resolved so we do not have more problems in the future.
2
0
134
3w
StoreKit / IAP: Product WAITING_FOR_REVIEW — works locally with production RevenueCat key + Apple Sandbox, fails during App Review
Hello, I need guidance on App Store Connect product state vs StoreKit behavior during App Review. Stack: iOS app (Expo / React Native), subscriptions via RevenueCat + StoreKit. Bundle ID matches App Store Connect. RevenueCat API keys — what I’ve verified locally: With the production RevenueCat API key (iOS appl_..., same as the submitted build), everything works on local device but not when I download it from TestFlight. I have also tested with RevenueCat’s sandbox / test API key (the separate key intended for sandbox/testing). That setup works as well — I can load offerings and complete test purchases the same way What RevenueCat (SDK / dashboard health) reports: Product monthly is configured in RevenueCat. Warnings that products aren’t approved in App Store Connect yet and that the default offering has configuration issues. Apple’s product state: WAITING_FOR_REVIEW. The SDK still states that test purchases are possible. What App Review reports: After onboarding a new business account, “Activate subscription” leads to an error (plans don’t load / purchase path fails). Review suggested an app code issue. Why this is confusing: Locally, both RevenueCat key modes I tried (production and sandbox/test) work with Apple Sandbox on the device. The submitted build uses the production RevenueCat key. Review still sees a failure. Questions: For IAP in WAITING_FOR_REVIEW, should App Review always use an Apple Sandbox account to test subscriptions until the product is fully approved? Is it documented that StoreKit may not return products during review without Sandbox while the product remains WAITING_FOR_REVIEW? Has anyone else seen “works locally (prod + sandbox RevenueCat keys + Apple Sandbox) but Review fails” with the same WAITING_FOR_REVIEW state? Thanks for any official documentation or similar threads.
1
0
107
3w
EASession(accessory:forProtocol:) always returns nil — MFI accessory iAP2
EASession(accessory:forProtocol:) always returns nil — MFI accessory iAP2 Platform: iOS 17+ | Hardware: Custom MFI-certified accessory (USB-C, iAP2) | Language: Swift Problem We have a custom MFI-certified accessory communicating over USB-C using ExternalAccessory. The app calls EASession(accessory:forProtocol:) after receiving EAAccessoryDidConnect but it always returns nil. We never get past session creation. What we have verified We captured a sysdiagnose on-device and analysed the accessoryd-packets log. The full iAP2 handshake completes successfully at the OS level: USB attach succeeds MFI auth certificate is present and Apple-issued Auth challenge and response complete successfully IdentificationInformation is accepted by iOS — protocol string and Team ID are correct EAAccessoryDidConnect fires as expected iOS sends StartExternalAccessoryProtocolSession — the OS-level session is established So the hardware, MFI auth, protocol string, and Team ID are all correct. Despite this, EASession(accessory:forProtocol:) returns nil in the app. We also confirmed: Protocol string in UISupportedExternalAccessoryProtocols in Info.plist matches the accessory exactly Protocol string in code matches Info.plist App entitlements are correctly configured EAAccessoryManager.shared().registerForLocalNotifications() is called before connection Current connection code @objc private func accessoryDidConnect(_ notification: Notification) { guard let accessory = notification.userInfo?[EAAccessoryKey] as? EAAccessory else { return } DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { self.tryConnectToAccessory() } } private func tryConnectToAccessory() { DispatchQueue.main.asyncAfter(deadline: .now() + 3.0) { for accessory in EAAccessoryManager.shared().connectedAccessories { let session = EASession(accessory: accessory, forProtocol: "") // session is always nil here } } } Questions The packet log shows a ~4 second gap between EAAccessoryDidConnect firing and iOS internally completing session readiness (StartExternalAccessoryProtocolSession). Is there a reliable way to know when iOS Is it actually ready to grant an EASession, rather than using a fixed delay? Is there a delegate callback or notification that fires when the accessory protocol session is ready to be opened, rather than relying on EAAccessoryDidConnect + an arbitrary delay? Are there any known conditions on iOS 17+ under which EASession returns nil even though the iAP2 handshake completed successfully at the OS level? Is retrying EASession after a nil result a supported pattern, or does a nil result mean the session will never succeed for that connection? Any guidance appreciated.
8
0
534
4w
Critical Bug — Cannot Submit or Delete Draft Response to Guideline 5.6.4 Notice — App at Risk of Removal
Hi everyone, I am hoping someone here has experienced this and can help, because we are in a really difficult position right now. We received a notice from App Review regarding Guideline 5.6.4 and have been working hard to prepare a full response with supporting evidence. The problem is that a draft response exists in App Store Connect that we cannot submit or delete. Every time we click either Submit or Delete Draft, we get the same error: "The resource cannot be found" That is it. No further explanation, no workaround, nothing. The draft is just stuck there and we cannot get past it. Because we could not submit through the normal channel, we uploaded a new build with our action plan included in the notes, hoping that would reach the review team. The build has been sitting there unreviewed. We have raised a support ticket with Apple Developer Support and have not received any response. The clock is ticking. App Review has given us a deadline to respond or face removal from the App Store. We have our response ready. We have our evidence ready. We just physically cannot submit it because of what appears to be a technical bug on Apple's side. Has anyone else hit this "resource cannot be found" error on a draft App Review response? Is there any other channel we can use to get this in front of the App Review team directly? We have tried everything we can think of. Any help would be massively appreciated. This is our livelihood and the deadline pressure combined with a broken system is genuinely distressing. Thank you
2
0
109
3w
iOS: Issues getting beginBackgroundTaskWithName working reliably
We have tried using background tasks for file saving via (UIBackgroundTaskIdentifier) beginBackgroundTaskWithName:(NSString *) taskName expirationHandler:(void (^)(void)) handler; when our app goes into the background and/or is closed by the user. But we cannot make it work the way the documentation tells us it should. While task creation never reports an issue (in fact it never calls our expiration handler at all) and the returned task id is always valid, when we ask for how much time we have left via backgroundTimeRemaining we always get 6s instead of the specified 30s. We tried to create the task when the app state goes to inactive or when our delegate is called via applicationDidEnterBackground but it makes no difference, besides the fact that the remaining time reported is basically max double, when the app is not in background yet which is by design as far we understand. But we don't even get the 6s for saving when a user closes the app. Because almost immediately after applicationDidEnterBackground our delegate is called via applicationWillTerminate which will then again almost immediately end in the app receiving a SIGKILL. So we must be doing something wrong. Why would applicationWillTerminate be called at all when we have a valid background task that reports we have 6s left? We tried blocking the thread in both background and terminate to at least give us the 5s the spec says we have before we get the SIGKILL. That works in general but doesn't feel like the correct approach and we do need more time than the 5s or 6s we get this way. Are we supposed to add something to our plist in order for these background tasks to work correctly? It is very confusing that there is a second mechanism that's also called background tasks for running apps in the background in general, which is not applicable to us. Are we supposed to block somewhere when we create the task? Or even spin up an extra thread for the task? Why is our expirationHandler never called? The spec says that our handler should be called if it was unable to "grant the ask assertion" so it seems like we do not have that problem. But it's also supposed to be called just before we are running out of time but by that time the app is already dead. This was all tested on iOS 26.3 and it is probably worth mentioning that our app is Qt-based.
4
0
215
4w
2 Months of Identical Copy-Paste Rejections for a Game Emulator — No Human Review, No Meaningful Feedback
Hello, I'm the developer of RPGPlayer, a game emulator for RPG Maker games that has been live on the App Store since 2025. I'm writing here out of frustration and desperation after 2+ months of trying to publish a critical bug fix update. The Situation I submitted v2.4 on February 21, 2026. Since then, I have received 9+ rejections under Guidelines 4.7 and 2.5.2. Every single rejection message is word-for-word identical — the same copy-pasted text, every time. None of my detailed technical responses have ever been acknowledged or addressed. I have submitted appeals twice through the App Review Board. Both times I received the same automated response: "The App Review Board will contact you directly once they've completed their investigation." The first appeal went unanswered for over 30 days. At this point, I genuinely do not believe a human being has opened my app during any of these reviews. The Technical Reality RPGPlayer is a game emulator, explicitly permitted under Guideline 4.7. The rejection under 4.7 states that "HTML5-based games appear to be an incidental feature." This is incorrect. RPG Maker MV/MZ games are built on HTML5/JavaScript by design — that is the engine's native architecture on all platforms including PC and consoles. The WKWebView is the emulation layer, not a web browser or game portal. There are zero bundled games. The rejection under 2.5.2 states the app "installed or launched executable code." The app does not download anything from the internet. It includes a bundled, statically-linked runtime (MKXP-Z) that interprets local game scripts from user-imported files — identical to how Delta Emulator interprets ROM instructions. The Double Standard Other apps on the App Store use the exact same architecture as RPGPlayer: Delta Emulator — approved under Guideline 4.7, interprets user-provided ROM files Quest Play — RPG Maker MV/MZ player, uses the same WebView approach, currently receiving updates ArkRPG — same engine, same architecture, also on the App Store and getting updates. These apps are approved and actively updated. RPGPlayer is being rejected with automated messages for doing the exact same thing. What I've Tried Detailed technical responses in Resolution Center — ignored Two App Review Board appeals — no meaningful response Contact Us support requests — automated replies Provided ROM files, video walkthroughs, and thorough App Review Notes — none of it acknowledged The Impact My users have been waiting 50+ days for a critical bug fix. Some have left negative reviews calling me a scammer because they think I abandoned the app. I haven't. I've been fighting this review process every single day. I have a Meet with Apple appointment scheduled. But I wanted to share this here as well — both to ask if anyone has faced a similar situation with emulator apps, and to document what is happening in case it helps other developers. Has anyone successfully resolved a 4.7 + 2.5.2 rejection for a legitimate emulator app? Any advice is welcome.
2
0
77
3w
Custom Pricing and Features for Non-Renewing Subscriptions
I hope you are doing well. I am reaching out to inquire about a few aspects of implementing non-renewing subscriptions in our app. Firstly, we have encountered a limitation in App Store Connect where the maximum price tier available for non-renewing subscriptions in Euros is €1199. However, our product is priced at €1799. Could anyone please advise how we can handle this scenario? Is there a way to request custom pricing beyond the available tiers, or is there an alternative approach you would recommend? Additionally, we would like clarification on the following: Promo Codes: Are promo codes supported for each non-renewing subscription product? If so, how can we configure and distribute them? Installment Payments: Is it possible to enable installment-based payments for non-renewing subscriptions? If yes, could you guide us on how to set this up or if there are any prerequisites?
Replies
1
Boosts
0
Views
455
Activity
4w
Apple Developer Enrolment
Hey! I am new to the apple developer enrolment program and it seemed alright to me when I started to fill all of the spaces, but when it lead to the paying process I started to have an issue. The issue is that I fill the spaces to pay, but I never receive the email for actually the bill, so I do not pay and receive the enrol. How do I fix it?
Replies
3
Boosts
3
Views
602
Activity
3w
WorkoutKit WorkoutScheduler sync Broken with iOS 18.2 beta
WorkoutKit WorkoutScheduler seems broken with the first beta of iOS 18.2. I have tested using my app from Xcode and the one that is on the App Store (and working properly on other devices), and it's not working with this new beta of iOS. They appears in WorkoutScheduler.shared.scheduledWorkouts, but not on the watch. I even tried with other apps that do the same with Manual add to Apple Watch with SwiftUI workoutPreview work. Xcode 16.0 iOS 18.2 Beta 1 WatchOS 11.1
Replies
30
Boosts
6
Views
2.3k
Activity
4w
How To Install on a Personal Device
Developer Help says: Do I need to enroll in the Apple Developer Program to install apps on a device? No. You can install apps on your personal device with Xcode. Yet Xcode 26.4 says: Signing for "Never Forget" requires a development team. Select a development team in the Signing & Capabilities editor. Can someone help me understand this? A developer account isn't required, yet a development team (in a developer account) is? 🤷
Replies
1
Boosts
0
Views
70
Activity
3w
Notarization stuck in “In Progress” for all submissions since April 4th
Hi, I’ve been successfully using notarization with notarytool for over a month (20+ submissions, all accepted within minutes). On April 4th around 07:30 (UTC), my last submissions were accepted without any issue: createdDate: 2026-04-04T07:29:08.877Z id: 38d6e6e0-1183-4fe8-ae4a-3036e1f0f025 name: MacOptimizers.dmg status: Accepted -------------------------------------------- createdDate: 2026-04-04T07:26:36.357Z id: 2abf8289-6e00-4b16-9991-fbda7e66a179 name: macopt_notary_payload.UdtfA3 status: Accepted -------------------------------------------- Later that same day (around 16:30 UTC), after minor bug fixes and UI changes, I submitted a new build. Since then, all notarization requests remain stuck in “In Progress” for more than 48 hours: -------------------------------------------- createdDate: 2026-04-05T07:13:03.369Z id: b4872e7a-e2b5-485e-9223-09f3ed94958f name: macopt_notary_payload.mZls1y status: In Progress -------------------------------------------- createdDate: 2026-04-04T20:07:35.937Z id: 375408f2-3c0a-455e-88a1-9cd08ce7dc35 name: macopt_notary_payload.CvrZNt status: In Progress -------------------------------------------- createdDate: 2026-04-04T17:09:47.481Z id: dad888b3-6aff-4c54-9608-da1f86e44db7 name: macopt_notary_payload.IH0RDr status: In Progress -------------------------------------------- createdDate: 2026-04-04T16:28:03.086Z id: 9e129b21-e682-48ce-baa7-8d2d77051bac name: macopt_notary_payload.GsrSa6 status: In Progress No errors are returned, and notarytool log is not yet available. Is this expected behavior (e.g. extended review), or could there be an issue affecting notarization for my team? Thanks for your help.
Replies
8
Boosts
0
Views
1.2k
Activity
4w
No update on App Review
Since April 6 I’m waiting for review. No updates. They usually say that takes 24-48hrs to be reviewed. I'm at 10 days already. And I get no response on my emails and ticket.
Replies
1
Boosts
0
Views
56
Activity
3w
Xcode Signing & Capabilities Errors
Getting a couple of errors on the Signing & Capabilities section in Xcode when trying to provision my iPhone for on-device prototyping. "Communication with Apple failed Your team has no devices from which to generate a provisioning profile. Connect a device to use or manually add device IDs in Certificates, Identifiers & Profiles. https://developer.apple.com/account/" "No profiles for 'com.danieljbuckley.Throwaway' were found Xcode couldn't find any iOS App Development provisioning profiles matching 'com.danieljbuckley.Throwaway'." Any ideas on how to resolve this?
Replies
1
Boosts
0
Views
51
Activity
4w
Enrollment Pending — Payment made from different Apple Account
Hi everyone, I am writing regarding my enrollment which is currently showing as Pending. The payment of 99USD was from other Apple account, but the enrollment was submitted from my account. Case ID is 102866900911. Payment details: Date: 11 April 2026 Order ID: MT5786ZXVV Document: 716118431350 Could any Apple staff please activate my account? Thank you, Alisher
Replies
0
Boosts
1
Views
69
Activity
3w
AVContentKeySession: Cannot re-fetch content key once obtained — expected behavior?
We are developing a video streaming app that uses AVContentKeySession with FairPlay Streaming. Our implementation supports both online playback (non-persistable keys) and offline playback (persistable keys). We have observed the following behavior: Once a content key has been obtained for a given Content Key ID, AVContentKeySession does not trigger contentKeySession(_:didProvide:) again for that same Key ID We also attempted to explicitly call processContentKeyRequest(withIdentifier:initializationData:options:) on the session to force a new key request for the same identifier, but this did not result in the delegate callback being fired again. The session appears to consider the key already resolved and silently ignores the request. This means that if a user first plays content online (receiving a non-persistable key), and later wants to download the same content for offline use (requiring a persistable key), the delegate callback is not fired again, and we have no opportunity to request a persistable key. Questions Is this the expected behavior? Specifically, is it by design that AVContentKeySession caches the key for a given Key ID and does not re-request it — even when processContentKeyRequest(withIdentifier:) is explicitly called? Should we use distinct Content Key IDs for persistable vs. non-persistable keys? For example, if the same piece of content can be played both online and offline, is the recommended approach to have the server provide different EXT-X-KEY URIs (and thus different key identifiers) for the streaming and download variants? Is there a supported way to force a fresh key request for a Key ID that has already been resolved — for example, to upgrade from a non-persistable to a persistable key? Environment iOS 18+ AVContentKeySession(keySystem: .fairPlayStreaming) Any guidance on the recommended approach for supporting both streaming and offline playback for the same content would be greatly appreciated.
Replies
1
Boosts
0
Views
389
Activity
4w
Mac Catalyst App Failed Registering Bundle Identifier
Hi there, New to this forum. I have an iOS/iPadOS app already published in the App Store, and it works great as a Mac Catalyst app on my Mac. However when uploading to App Store Connect, I get the message: Failed Registering Bundle Identifier The app identifier "maccatalyst.nl.lai.prep-app" cannot be registered to your development team because it is not available. Change your bundle identifier to a unique string to try again. So the organizer adds the maccatalyst in front of the Bundle Identifier automatically, but for some reason I get the message it's not available. I've already added the macOS App as a platform on App Store Connect. The Bundle ID (nl.lai.prep-app) is obviously registered as the app is already available on iOS/iPadOS and I have enabled 'Mac Catalyst' in my App id Configuration on the developer portal. In Xcode macOS (Mac Catalyst) has been added as a destination. I contacted developer support, but they couldn't see anything wrong 🤷‍♂️ and suggested I would ask the developer community on the developer forum for advice, so here I am. Who has suggestions on what I should do?
Replies
3
Boosts
0
Views
66
Activity
3w
Xcode 26.4: xcodebuild test crashes on iOS 15.2 Simulators before XCTest bootstrap due to ResultDataPublisher missing Foundation.URLRequest.httpMethod symbol
I’m seeing a crash when running XCTest on iOS 15.2 Simulators with Xcode 26.4. The test bundle never starts. xctest crashes before establishing the XCTest connection. This appears to be a regression from Xcode 26.2. The same test flow worked with Xcode 26.2, but crashes with Xcode 26.4. This does not appear to be caused by my app or package code. I can reproduce it with a minimal Swift Package that only imports Foundation and has one XCTest case using URLRequest.httpMethod. Environment: Xcode with failure: 26.4 Xcode that worked: 26.2 macOS: 26.2 Destinations tested: iPhone SE (2nd generation), iOS 15.2 Simulator iPad mini (6th generation), iOS 15.2 Simulator Test command: xcodebuild test Swift Package deployment target: iOS 15.2 Swift tools version: 6.1 Minimal reproduction package: Package.swift // swift-tools-version:6.1 import PackageDescription let package = Package( name: "FoundationOnlyRepro", platforms: [.iOS("15.2")], products: [ .library( name: "FoundationOnlyRepro", targets: ["FoundationOnlyRepro"] ) ], targets: [ .target(name: "FoundationOnlyRepro"), .testTarget( name: "FoundationOnlyReproTests", dependencies: ["FoundationOnlyRepro"] ) ], swiftLanguageModes: [.v6] ) Sources/FoundationOnlyRepro/FoundationOnlyRepro.swift import Foundation public struct FoundationOnlyRepro { public init() {} public func makeRequest() -> URLRequest { var request = URLRequest(url: URL(string: "https://example.invalid")!) request.httpMethod = "GET" return request } } Tests/FoundationOnlyReproTests/FoundationOnlyReproTests.swift import XCTest import Foundation @testable import FoundationOnlyRepro final class FoundationOnlyReproTests: XCTestCase { func testURLRequestHTTPMethod() { let request = FoundationOnlyRepro().makeRequest() XCTAssertEqual(request.httpMethod, "GET") } } Command used: xcodebuild test \ -scheme FoundationOnlyRepro \ -destination 'platform=iOS Simulator,name=iPhone SE (2nd generation),OS=15.2' \ -derivedDataPath /tmp/rdp-dd \ -quiet The same kind of crash also occurs when using an iPad mini (6th generation) iOS 15.2 Simulator destination. Result: Testing failed: xctest (...) encountered an error (Early unexpected exit, operation never finished bootstrapping - no restart will be attempted. (Underlying Error: Test crashed with signal abrt before establishing connection.)) ** TEST FAILED ** The diagnostic stderr shows: dyld[28688]: Symbol not found: _$s10Foundation10URLRequestV10httpMethodSSSgvs Referenced from: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/ResultDataPublisher.framework/ ResultDataPublisher Expected in: /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 15.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Foundation.framework/Foundation Demangling the missing symbol: xcrun swift-demangle '_$s10Foundation10URLRequestV10httpMethodSSSgvs' Output: Foundation.URLRequest.httpMethod.setter : Swift.String? I also checked the iOS 15.2 simulator runtime. The symbol appears to exist in: /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 15.2.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift/libswiftFoundation.dylib but ResultDataPublisher.framework appears to be resolving it from: .../System/Library/Frameworks/Foundation.framework/Foundation This suggests the crash is in Xcode’s XCTest/result publishing infrastructure, not in the app/test bundle. Questions: Is Xcode 26.4 + iOS 15.2 Simulator + xcodebuild test expected to be supported? Is there a supported workaround to disable or avoid ResultDataPublisher.framework for command-line XCTest runs?
Replies
1
Boosts
0
Views
146
Activity
4w
Deleting Forum Posts
Is there a way I can delete my own question/post from the Apple Developer Forum?
Replies
9
Boosts
3
Views
5.2k
Activity
3w
Developer ID Installer cert not usable for pkg signing (no Code Signing / 0 identities)
Hello! We built a macOS .pkg using pkgbuild (contains a DMG + postinstall bash script). The pkg works locally on the build machine but fails on other devices manually / via MDM unless signed. We tried signing with a Developer ID Installer certificate, but: security find-identity -p codesigning -v → 0 valid identities security find-identity -v → shows the cert Private key is present in Keychain OpenSSL check shows: X509v3 Extended Key Usage: Critical (Expected one might be: Code Signing) We recreated CSR + cert multiple times (G2 Sub-CA), ensured Login keychain, unlocked keychain, etc., but same result. Question: Why is the Developer ID Installer cert missing Code Signing usage and not recognized for signing? Is there any account restriction or step we might be missing? Any recommendations on resolving this issue. Thanks!
Replies
1
Boosts
0
Views
446
Activity
4w
Subscription failure in 26.4, 26.4.1
We have a user from Asia whose subscription failed to be detected by our app. On 26.4. They also tried revoking the yearly subscription and activating a monthly. Payment ok and the device reported that the subscription is active. Our code relies on Transaction.currentEntitlements in StoreKit, which seems to be broken, at least for this user. None of these worked: Installing iOS 26.4.1 Reinstalling our app Logging out and in from iCloud. Hard device reset Full iOS reinstall. User finally gave up and got a refund. I am reporting here in case other apps experienced similar problems. This discussion mentions that a regression in 26.4 might have contributed to the issue which is supposed to be fixed in 26.4.1. ( https://developer.apple.com/forums/thread/820562?answerId=883682022#883682022 ) The issue may have persisted or left the entitlements corrupt for this particular user. Hoping that the issue is resolved so we do not have more problems in the future.
Replies
2
Boosts
0
Views
134
Activity
3w
waiting for review for two months
app id is 6759403692 i have been waiting to be approved my app for two months. I mailed and called several times but no response. please someone help me.
Replies
2
Boosts
0
Views
90
Activity
4w
StoreKit / IAP: Product WAITING_FOR_REVIEW — works locally with production RevenueCat key + Apple Sandbox, fails during App Review
Hello, I need guidance on App Store Connect product state vs StoreKit behavior during App Review. Stack: iOS app (Expo / React Native), subscriptions via RevenueCat + StoreKit. Bundle ID matches App Store Connect. RevenueCat API keys — what I’ve verified locally: With the production RevenueCat API key (iOS appl_..., same as the submitted build), everything works on local device but not when I download it from TestFlight. I have also tested with RevenueCat’s sandbox / test API key (the separate key intended for sandbox/testing). That setup works as well — I can load offerings and complete test purchases the same way What RevenueCat (SDK / dashboard health) reports: Product monthly is configured in RevenueCat. Warnings that products aren’t approved in App Store Connect yet and that the default offering has configuration issues. Apple’s product state: WAITING_FOR_REVIEW. The SDK still states that test purchases are possible. What App Review reports: After onboarding a new business account, “Activate subscription” leads to an error (plans don’t load / purchase path fails). Review suggested an app code issue. Why this is confusing: Locally, both RevenueCat key modes I tried (production and sandbox/test) work with Apple Sandbox on the device. The submitted build uses the production RevenueCat key. Review still sees a failure. Questions: For IAP in WAITING_FOR_REVIEW, should App Review always use an Apple Sandbox account to test subscriptions until the product is fully approved? Is it documented that StoreKit may not return products during review without Sandbox while the product remains WAITING_FOR_REVIEW? Has anyone else seen “works locally (prod + sandbox RevenueCat keys + Apple Sandbox) but Review fails” with the same WAITING_FOR_REVIEW state? Thanks for any official documentation or similar threads.
Replies
1
Boosts
0
Views
107
Activity
3w
EASession(accessory:forProtocol:) always returns nil — MFI accessory iAP2
EASession(accessory:forProtocol:) always returns nil — MFI accessory iAP2 Platform: iOS 17+ | Hardware: Custom MFI-certified accessory (USB-C, iAP2) | Language: Swift Problem We have a custom MFI-certified accessory communicating over USB-C using ExternalAccessory. The app calls EASession(accessory:forProtocol:) after receiving EAAccessoryDidConnect but it always returns nil. We never get past session creation. What we have verified We captured a sysdiagnose on-device and analysed the accessoryd-packets log. The full iAP2 handshake completes successfully at the OS level: USB attach succeeds MFI auth certificate is present and Apple-issued Auth challenge and response complete successfully IdentificationInformation is accepted by iOS — protocol string and Team ID are correct EAAccessoryDidConnect fires as expected iOS sends StartExternalAccessoryProtocolSession — the OS-level session is established So the hardware, MFI auth, protocol string, and Team ID are all correct. Despite this, EASession(accessory:forProtocol:) returns nil in the app. We also confirmed: Protocol string in UISupportedExternalAccessoryProtocols in Info.plist matches the accessory exactly Protocol string in code matches Info.plist App entitlements are correctly configured EAAccessoryManager.shared().registerForLocalNotifications() is called before connection Current connection code @objc private func accessoryDidConnect(_ notification: Notification) { guard let accessory = notification.userInfo?[EAAccessoryKey] as? EAAccessory else { return } DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { self.tryConnectToAccessory() } } private func tryConnectToAccessory() { DispatchQueue.main.asyncAfter(deadline: .now() + 3.0) { for accessory in EAAccessoryManager.shared().connectedAccessories { let session = EASession(accessory: accessory, forProtocol: "") // session is always nil here } } } Questions The packet log shows a ~4 second gap between EAAccessoryDidConnect firing and iOS internally completing session readiness (StartExternalAccessoryProtocolSession). Is there a reliable way to know when iOS Is it actually ready to grant an EASession, rather than using a fixed delay? Is there a delegate callback or notification that fires when the accessory protocol session is ready to be opened, rather than relying on EAAccessoryDidConnect + an arbitrary delay? Are there any known conditions on iOS 17+ under which EASession returns nil even though the iAP2 handshake completed successfully at the OS level? Is retrying EASession after a nil result a supported pattern, or does a nil result mean the session will never succeed for that connection? Any guidance appreciated.
Replies
8
Boosts
0
Views
534
Activity
4w
Critical Bug — Cannot Submit or Delete Draft Response to Guideline 5.6.4 Notice — App at Risk of Removal
Hi everyone, I am hoping someone here has experienced this and can help, because we are in a really difficult position right now. We received a notice from App Review regarding Guideline 5.6.4 and have been working hard to prepare a full response with supporting evidence. The problem is that a draft response exists in App Store Connect that we cannot submit or delete. Every time we click either Submit or Delete Draft, we get the same error: "The resource cannot be found" That is it. No further explanation, no workaround, nothing. The draft is just stuck there and we cannot get past it. Because we could not submit through the normal channel, we uploaded a new build with our action plan included in the notes, hoping that would reach the review team. The build has been sitting there unreviewed. We have raised a support ticket with Apple Developer Support and have not received any response. The clock is ticking. App Review has given us a deadline to respond or face removal from the App Store. We have our response ready. We have our evidence ready. We just physically cannot submit it because of what appears to be a technical bug on Apple's side. Has anyone else hit this "resource cannot be found" error on a draft App Review response? Is there any other channel we can use to get this in front of the App Review team directly? We have tried everything we can think of. Any help would be massively appreciated. This is our livelihood and the deadline pressure combined with a broken system is genuinely distressing. Thank you
Replies
2
Boosts
0
Views
109
Activity
3w
iOS: Issues getting beginBackgroundTaskWithName working reliably
We have tried using background tasks for file saving via (UIBackgroundTaskIdentifier) beginBackgroundTaskWithName:(NSString *) taskName expirationHandler:(void (^)(void)) handler; when our app goes into the background and/or is closed by the user. But we cannot make it work the way the documentation tells us it should. While task creation never reports an issue (in fact it never calls our expiration handler at all) and the returned task id is always valid, when we ask for how much time we have left via backgroundTimeRemaining we always get 6s instead of the specified 30s. We tried to create the task when the app state goes to inactive or when our delegate is called via applicationDidEnterBackground but it makes no difference, besides the fact that the remaining time reported is basically max double, when the app is not in background yet which is by design as far we understand. But we don't even get the 6s for saving when a user closes the app. Because almost immediately after applicationDidEnterBackground our delegate is called via applicationWillTerminate which will then again almost immediately end in the app receiving a SIGKILL. So we must be doing something wrong. Why would applicationWillTerminate be called at all when we have a valid background task that reports we have 6s left? We tried blocking the thread in both background and terminate to at least give us the 5s the spec says we have before we get the SIGKILL. That works in general but doesn't feel like the correct approach and we do need more time than the 5s or 6s we get this way. Are we supposed to add something to our plist in order for these background tasks to work correctly? It is very confusing that there is a second mechanism that's also called background tasks for running apps in the background in general, which is not applicable to us. Are we supposed to block somewhere when we create the task? Or even spin up an extra thread for the task? Why is our expirationHandler never called? The spec says that our handler should be called if it was unable to "grant the ask assertion" so it seems like we do not have that problem. But it's also supposed to be called just before we are running out of time but by that time the app is already dead. This was all tested on iOS 26.3 and it is probably worth mentioning that our app is Qt-based.
Replies
4
Boosts
0
Views
215
Activity
4w
2 Months of Identical Copy-Paste Rejections for a Game Emulator — No Human Review, No Meaningful Feedback
Hello, I'm the developer of RPGPlayer, a game emulator for RPG Maker games that has been live on the App Store since 2025. I'm writing here out of frustration and desperation after 2+ months of trying to publish a critical bug fix update. The Situation I submitted v2.4 on February 21, 2026. Since then, I have received 9+ rejections under Guidelines 4.7 and 2.5.2. Every single rejection message is word-for-word identical — the same copy-pasted text, every time. None of my detailed technical responses have ever been acknowledged or addressed. I have submitted appeals twice through the App Review Board. Both times I received the same automated response: "The App Review Board will contact you directly once they've completed their investigation." The first appeal went unanswered for over 30 days. At this point, I genuinely do not believe a human being has opened my app during any of these reviews. The Technical Reality RPGPlayer is a game emulator, explicitly permitted under Guideline 4.7. The rejection under 4.7 states that "HTML5-based games appear to be an incidental feature." This is incorrect. RPG Maker MV/MZ games are built on HTML5/JavaScript by design — that is the engine's native architecture on all platforms including PC and consoles. The WKWebView is the emulation layer, not a web browser or game portal. There are zero bundled games. The rejection under 2.5.2 states the app "installed or launched executable code." The app does not download anything from the internet. It includes a bundled, statically-linked runtime (MKXP-Z) that interprets local game scripts from user-imported files — identical to how Delta Emulator interprets ROM instructions. The Double Standard Other apps on the App Store use the exact same architecture as RPGPlayer: Delta Emulator — approved under Guideline 4.7, interprets user-provided ROM files Quest Play — RPG Maker MV/MZ player, uses the same WebView approach, currently receiving updates ArkRPG — same engine, same architecture, also on the App Store and getting updates. These apps are approved and actively updated. RPGPlayer is being rejected with automated messages for doing the exact same thing. What I've Tried Detailed technical responses in Resolution Center — ignored Two App Review Board appeals — no meaningful response Contact Us support requests — automated replies Provided ROM files, video walkthroughs, and thorough App Review Notes — none of it acknowledged The Impact My users have been waiting 50+ days for a critical bug fix. Some have left negative reviews calling me a scammer because they think I abandoned the app. I haven't. I've been fighting this review process every single day. I have a Meet with Apple appointment scheduled. But I wanted to share this here as well — both to ask if anyone has faced a similar situation with emulator apps, and to document what is happening in case it helps other developers. Has anyone successfully resolved a 4.7 + 2.5.2 rejection for a legitimate emulator app? Any advice is welcome.
Replies
2
Boosts
0
Views
77
Activity
3w