Overview

Post

Replies

Boosts

Views

Activity

Apple reviewer not seeing product pricing in paywall
Hello, I have a perplexing issue with apple reviewers not having the same experience as myself regarding the paywall. This is an Expo app and uses RevenueCat and SuperWall integrations. This app is going through its first review - it is not published yet. So the app and its subscriptions are being reviewed for the first time. I should also mention that this is my first time as an app developer, so please pardon my ignorance. When I install the app from TestFlight and launch it, I see the paywall with the product prices shown and I can complete a test purchase. Same for my friends who I've asked to test for me. But the apple reviewer does not see the product prices when the paywall is shown to them. Without being able to replicate the problem I am flying blind. I don't want to re-submit the app for review only to find the same problem exists. I also need to understand what is different between my testing environment and the apple testers. If anyone can point me in the right direction here I would really appreciate the help!
1
0
119
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
108
3w
In-App Purchase works in TestFlight but fails during App Review (Apple can't complete purchase)
Hello, I have an issue with In-App Purchases during App Review. In TestFlight and Sandbox, everything works correctly: Products are loaded Subscriptions are visible Purchase completes successfully However, Apple reports that the purchase fails during review. My subscriptions are: Created and active in App Store Connect Attached to the app version Paid Apps Agreement accepted I also added all required information (price, duration, EULA, privacy policy). Why would purchases work in TestFlight but fail during App Review? Thank you for your help.
1
0
94
3w
EAWiFiUnconfiguredAccessoryBrowser "Accessory Setup" UI selects blank/null SSID by default
We've received several reports of a new bug while setting up our products with WAC. The Accessory Setup UI appears with a blank network selected and the message 'This accessory will be set up to join "(null)".' at top. The user can tap "Show Other Networks..." to select another network, but this experience is very confusing. Why does this UI present a choice that is known to be invalid when other valid choices exist? I've captured a screenshot and sysdiagnose from this case. In most cases this problem happens only intermittently, but I can reproduce it consistently by disconnecting my iPhone from any WiFi network (WiFi remains enabled). My suggestion for a better user experience is that this UI should select the default network according to these rules: The network to which iPhone is currently connected. Any network which is in the known/my list for this iPhone Any valid network I believe rule #1 is the existing behavior, but applying rules #2 and #3 as fallbacks would be an improvement. Is there anything I can change in my iOS code or in my accessory's WAC server to improve this experience?
7
0
509
3w
Approval of first in-App purchase
I am looking for some insight and an assist (planning to test in-app purchase with TestFlight) - all works in Xcode. I have created my very first in-App purchases App (I have other paid apps in App store) Under Distribution tab in the Monetization section i created the in-app purchases item. I completed all fields and the status is now changed from waiting fior metadata to ready to submit.. Per my readings the in-app purchase item would be reviewed with a new version of the App. I uploaded a new version, added sandbox tester and submitted it for review.. My App in TestFlight now shows status of Testing, but the in-App purchase still shows waiting for review. On the Distribution tab the "Add for Review" button is active but it seems a bit illogical for me to click it as the in-App purchases is the only completed item on my App's distribution tab (I am not ready to submit for review yet..) So as illogical as it appears, is this the way to get your first in-App purchase approved?
1
0
73
3w
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
TestFlight “What to Test” – Error processing request when submitting build for review
Hi, I’m experiencing a server-side error in App Store Connect when trying to submit a TestFlight build for review. Details: App: Ngoc Rong 2 Platform: iOS Build status: Complete Distribution: External Testing App Store Connect Web (Safari / Chrome both tested) Steps: Go to TestFlight → Select build Click “Submit for Review” Fill in “What to Test” Click Submit Result: Popup shows: "There was an error processing your request. Please try again later." Notes: Build processing completed successfully Internal testing works External group already created Issue happens consistently Tried different browsers and cleared cache Same issue across multiple builds Is this a known App Store Connect issue? Is there any workaround? Additional information: I have already contacted Apple Developer Support. Case ID: 102871190604 If needed, I can provide further details or logs. Thank you.
1
0
130
3w
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
Disable automatic Liquid-Glass app icon generation
Hi. On my iOS app, both the app store and the device are making changes to my app icon to make it look more Liquid-Glass. See attached image showing my original icon, and then how it appears on the app store and on devices. There is an added bevel/3d effect. I'd like to not have this happen. Did anybody figure out how to turn this off? So that the icon appears as submitted. I've played around with Icon Composer a bit but haven't managed to turn this off there. And would prefer to just submit the png's. Thank you!
5
0
237
3w
CKRecordZone deleted when second user accepts zone-wide CKShare
I'm seeing a critical issue where a custom CKRecordZone is consistently deleted server-side when a second iCloud account interacts with a zone-wide CKShare. I've reproduced this 20+ times across two days and have exhausted every client-side fix I can think of. Looking for guidance on what might be going wrong. Setup Container: iCloud.com.cohencooks (production app on App Store) Custom CKRecordZone in owner's private database Zone-wide CKShare(recordZoneID:) (iOS 15+ zone sharing) SwiftData with ModelConfiguration(cloudKitDatabase: .none) — no automatic CloudKit mirroring Acceptance via CKFetchShareMetadataOperation → CKContainer.accept(metadata) (no UICloudSharingController) Minimal reproduction // 1. Owner creates zone + share let zone = CKRecordZone(zoneName: "MyZone") try await privateDB.save(zone) let share = CKShare(recordZoneID: zone.zoneID) share[CKShare.SystemFieldKey.title] = "My Share" as CKRecordValue share.publicPermission = .readWrite let (results, _) = try await privateDB.modifyRecords(saving: [share], deleting: []) // 2. Owner pushes ~500 records to zone — all succeed // 3. Second user (different iCloud account) accepts share let metadata = try await container.shareMetadata(for: shareURL) try await container.accept(metadata) // 4. Owner's next CKFetchRecordZoneChangesOperation → zoneNotFound (code 26) // Zone is permanently gone. allRecordZones() confirms deletion. What I observe Three distinct failure patterns depending on configuration: Pattern 1 — publicPermission = .readWrite, no addParticipant: Zone dies instantly after acceptance. First push notification shows cloudkit.share changed (zone alive), second push notification returns zoneNotFound. The non-owner never successfully wrote anything. Pattern 2 — publicPermission = .none with explicit addParticipant: Zone survives acceptance and 2-3 minutes of bidirectional sync (non-owner pulls 578 records, pushes meal plans back). Then a push notification arrives and the zone is gone. This is dramatically better than Pattern 1 but still fails. Pattern 3 — Container destabilization after repeated testing: After 20+ create/delete cycles in one day, zones die from the owner's own push notifications — no second device involved at all. The container appears to enter an unstable state. What I've ruled out Hypothesis Test Result publicPermission = .readWrite Changed to .none + explicit addParticipant Zone survived longer but still eventually deleted Zone name tombstoning Tested 6 fresh names never used in this container All eventually deleted Non-owner writes causing deletion Gated ALL non-owner push methods (recipe, meal plan, grocery, photo, event) Zone still deleted database.save(share) vs modifyRecords Switched to modifyRecords(saving:deleting:) Zone still deleted NSPersistentCloudKitContainer interference Removed all Core Data CloudKit code Zone still deleted Double share acceptance Fresh app install, single acceptance only Zone still deleted Advanced Data Protection Neither account has ADP enabled Not the cause Programmatic vs system acceptance Tested both container.accept() and tapping share link Zone still deleted CloudKit Dashboard No ZoneDelete operation is visible in the logs. All operations are ZoneFetch, ZoneChanges, RecordQuery, RecordFetch. I do see EphemeralGroup operations targeting the custom zone — not sure what generates those. Comparison with working apps I compared my implementation with another app (Spotbook) that uses the exact same zone-wide CKShare(recordZoneID:) pattern with publicPermission = .readWrite and programmatic acceptance — and it works. The main difference is that app uses CKSyncEngine (iOS 17+) rather than raw CKFetchRecordZoneChangesOperation / CKModifyRecordsOperation. Could CKSyncEngine be handling something internally that prevents this issue? Questions Is there a known interaction between zone-wide CKShare(recordZoneID:) acceptance and zone lifecycle that could cause zone deletion? Does CKSyncEngine handle zone-wide sharing differently than manual CKFetchRecordZoneChangesOperation + CKModifyRecordsOperation? What generates EphemeralGroup operations in CloudKit Dashboard? Could these trigger a zone delete? After 20+ zone create/delete cycles in a container, is there a server-side rate limit or tombstone mechanism that would destabilize new zones? Is the custom programmatic acceptance flow (CKFetchShareMetadataOperation → container.accept()) fully supported for zone-wide shares, or does it require UICloudSharingController? Any guidance would be greatly appreciated. This is blocking multi-user functionality for our app (mesa, a meal planning app on the App Store). Single-user sync works perfectly — the issue only manifests when a second iCloud account is involved. Environment: iOS 18.4.1, Xcode 16+, Swift, SwiftUI
3
0
167
3w
What is the optimal number of records per shard?
Hello, I am currently developing a PIR server using the pir-server-example repository. We are anticipating a total of 10 million URLs for our dataset. In this context, what would be the optimal shard size (number of records per shard) to balance computational latency and communication overhead? Any advice or best practices for handling a dataset of this scale would be greatly appreciated. Thank you.
2
0
215
3w
Embedded Collection View in SwiftUI offset issue
I have a collection view that covers all the screen and it is scrolling behavior is paging. This collection view is embedded in a UIViewRepresentable and used in a SwiftUI app. The issue is that when users rotate the devices, sometimes the CollectionView.contentOffset get miscalculated and shows 2 pages. This is the code that I'm using for the collectionView and collectionViewLayout: class PageFlowLayout: UICollectionViewFlowLayout { override class var layoutAttributesClass: AnyClass { UICollectionViewLayoutAttributes.self } private var calculatedAttributes: [UICollectionViewLayoutAttributes] = [] private var calculatedContentWidth: CGFloat = 0 private var calculatedContentHeight: CGFloat = 0 public weak var delegate: PageFlowLayoutDelegate? override var collectionViewContentSize: CGSize { return CGSize(width: self.calculatedContentWidth, height: self.calculatedContentHeight) } override init() { super.init() self.estimatedItemSize = .zero self.scrollDirection = .horizontal self.minimumLineSpacing = 0 self.minimumInteritemSpacing = 0 self.sectionInset = .zero } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func prepare() { guard let collectionView = collectionView, collectionView.numberOfSections > 0, calculatedAttributes.isEmpty else { return } estimatedItemSize = collectionView.bounds.size for item in 0..<collectionView.numberOfItems(inSection: 0) { let indexPath = IndexPath(item: item, section: 0) let attributes = UICollectionViewLayoutAttributes(forCellWith: indexPath) let itemOrigin = CGPoint(x: CGFloat(item) * collectionView.frame.width, y: 0) attributes.frame = .init(origin: itemOrigin, size: collectionView.frame.size) calculatedAttributes.append(attributes) } calculatedContentWidth = collectionView.bounds.width * CGFloat(calculatedAttributes.count) calculatedContentHeight = collectionView.bounds.size.height } override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? { return calculatedAttributes.compactMap { return $0.frame.intersects(rect) ? $0 : nil } } override func layoutAttributesForItem(at indexPath: IndexPath) -> UICollectionViewLayoutAttributes? { return calculatedAttributes[indexPath.item] } override func shouldInvalidateLayout(forBoundsChange newBounds: CGRect) -> Bool { guard let collectionView else { return false } if newBounds.size != collectionView.bounds.size { return true } if newBounds.size.width > 0 { let pages = calculatedContentWidth / newBounds.size.width // If the contentWidth matches the number of pages, // if not it requires to layout the cells let arePagesExact = pages.truncatingRemainder(dividingBy: 1) == 0 return !arePagesExact } return false } override func invalidateLayout() { calculatedAttributes = [] super.invalidateLayout() } override func shouldInvalidateLayout(forPreferredLayoutAttributes preferredAttributes: UICollectionViewLayoutAttributes, withOriginalAttributes originalAttributes: UICollectionViewLayoutAttributes) -> Bool { guard let collectionView, #available(iOS 18.0, *) else { return false } return preferredAttributes.size != collectionView.bounds.size } override func invalidateLayout(with context: UICollectionViewLayoutInvalidationContext) { guard let customContext = context as? UICollectionViewFlowLayoutInvalidationContext else { return } if let collectionView, let currentPage = delegate?.currentPage() { let delta = (CGFloat(currentPage) * collectionView.bounds.width) - collectionView.contentOffset.x customContext.contentOffsetAdjustment.x += delta } calculatedAttributes = [] super.invalidateLayout(with: customContext) } override func prepare(forAnimatedBoundsChange oldBounds: CGRect) { super.prepare(forAnimatedBoundsChange: oldBounds) guard let collectionView else { return } if oldBounds.width != collectionView.bounds.width { invalidateLayout() } } override func targetContentOffset(forProposedContentOffset proposedContentOffset: CGPoint) -> CGPoint { guard let collectionView, let currentPage = delegate?.currentPage() else { return .zero } let targetContentOffset = super.targetContentOffset(forProposedContentOffset: proposedContentOffset) let targetPage = targetContentOffset.x / collectionView.frame.width if targetPage != CGFloat(currentPage) { let xPosition = CGFloat(currentPage) * collectionView.frame.width return CGPoint(x: xPosition, y: 0) } return targetContentOffset } // This function updates the contentOffset in case is wrong override func finalizeCollectionViewUpdates() { guard let collectionView, let currentPage = delegate?.currentPage() else { return } let xPosition = CGFloat(currentPage) * collectionView.bounds.width if xPosition != collectionView.contentOffset.x { let offset = CGPoint(x: xPosition, y: 0) collectionView.setContentOffset(offset, animated: false) } } } The full implementation is attached in the .txt file: RotationTestView.txt
6
0
208
3w
Kleio – AI voice keyboard TestFlight beta for fast dictation and accessibility feedback
Hi everyone, I’m an indie iOS developer working on Kleio, an AI voice keyboard extension that lets you dictate text quickly anywhere you can type. I’m looking for a small group of beta testers who are willing to try it through TestFlight and share feedback about stability, UX, and accessibility. What Kleio does Adds a custom keyboard so you can press the mic button and dictate instead of typing. Uses AI to turn rough speech into cleaned‑up, properly punctuated text. Lets you pick different writing styles (e.g. more formal vs more casual) for how your dictation should read. Supports a personal dictionary for custom words and names. Keeps transcript history on‑device by default, with optional cloud sync and improvement sharing. Includes a “Privacy Mode” toggle when you don’t want anything uploaded. What I’d love feedback on Onboarding flow for first‑time setup and keyboard enabling. The dictation experience inside real apps (Messages, Notes, Mail, social apps, etc.). Latency, accuracy, and how well the edited text matches what you meant to say. Keyboard layout, button placement, and any confusing interactions. Accessibility and inclusion: How well it works with VoiceOver / Switch Control. Any issues with contrast, touch targets, or labels. Any specific needs for users who rely on voice input more than typing. TestFlight link You can join the beta here: https://testflight.apple.com/join/jGY1fZ7S External group: “Twitter” (currently around 9 testers). No login is required for basic dictation; some settings sync features use account sign‑in. How to send feedback Through TestFlight’s built‑in feedback / screenshots. If you run into crashes, unexpected latency, or accessibility problems, details like device model, iOS version, and what app you were dictating into are extremely helpful. Thanks in advance to anyone who’s willing to try Kleio and help me make the keyboard more reliable and accessible.
0
0
203
3w
Guideline 2.5.1 - Performance - Software Requirements
审核回复:Issue Description The app uses public APIs in an unapproved manner, which does not comply with guideline 2.5.1. Specifically, the app still uses the ScreenTime API to hide apps. Since there is no accurate way of predicting how an API may be modified and what effects those modifications may have, unapproved uses of public APIs in apps is not allowed. 代码我都没有怎么改,然后之前2025年都上架成功了的,现在更新一个版本后,就不让上架了,是怎么回事?
0
0
183
3w
URL Filter Network Extension
Hello team, I am trying to find out a way to block urls in the chrome browser if it is found in local blocked list cache. I found URL Filter Network very much suitable for my requirement. But I see at multiple places that this solution is only for Enterprise level or MDM or supervised device. So can I run this for normal user ? as my targeting audience would be bank users. One more thing how can I test this in development environment if we need supervised devices and do we need special entitlement ? When trying to run sample project in the simulator then getting below error
15
0
531
3w
App Crash with mxSignpost function not found
Hi team: I recently update to Xcode 26.4, and I encountered crash when running to < iOS 26.4 both for physical device and Simulator with this log: dyld[1257]: Symbol not found: _$s9MetricKit10mxSignpost_3dso3log4name10signpostID__ySo03os_H7_type_ta_SVSo03OS_j1_F0Cs12StaticStringV0J0010OSSignpostI0VALSays7CVarArg_pGtF Referenced from: <164CCEB0-E1F8-3CE2-A934-2096C19C0A9A> /private/var/containers/Bundle/Application/EA709A68-F76F-4D97-85C6-B71D61D68389/xxx.app/xxx.debug.dylib Expected in: <9E5EC9BB-5828-329C-A2BC-038B67060298> /System/Library/Frameworks/MetricKit.framework/MetricKit Symbol not found: _$s9MetricKit10mxSignpost_3dso3log4name10signpostID__ySo03os_H7_type_ta_SVSo03OS_j1_F0Cs12StaticStringV0J0010OSSignpostI0VALSays7CVarArg_pGtF Referenced from: <164CCEB0-E1F8-3CE2-A934-2096C19C0A9A>x /private/var/containers/Bundle/Application/EA709A68-F76F-4D97-85C6-B71D61D68389/xxx.app/xxx.debug.dylib Expected in: <9E5EC9BB-5828-329C-A2BC-038B67060298> /System/Library/Frameworks/MetricKit.framework/MetricKit dyld config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/usr/lib/libLogRedirect.dylib:/usr/lib/libBacktraceRecording.dylib:/usr/lib/libMainThreadChecker.dylib:/usr/lib/libRPAC.dylib:/usr/lib/libViewDebuggerSupport.dylib but iOS 26.4 works well. Env: Xcode: 26.4 Simulator/Physical Device: < 26.4 macOS: 26.3 Thanks for giving any help.
6
1
511
3w
Requesting com.apple.managed-keychain Entitlement for Enterprise S/MIME Cert Visibility
Requesting com.apple.managed-keychain Entitlement for Enterprise S/MIME Cert Visibility Platform: iOS | Distribution: MDM (Microsoft Intune) | Not App Store We are developing an internal enterprise iOS app (EMS Assist, com.company.supportcompanion) for Company deployed exclusively to Intune-managed devices. Our requirement: Read S/MIME certificates pushed to the device via Intune SCEP profiles to: Confirm cert presence in the MDM-managed keychain Read expiry date (kSecAttrNotValidAfter) to warn users before expiry Distinguish between missing, expired, and valid cert states What we have tried: Standard SecItemCopyMatching query — returns only app-installed certs, not MDM-pushed certs Graph API (deviceConfigurationStates) — confirms profile compliance but does not expose actual cert expiry or keychain presence Our understanding: com.apple.managed-keychain is required for an app to access MDM-managed keychain items on supervised devices, combined with a matching keychain-access-groups entitlement and the cert profile configured as "always available" in MDM. Questions: Is com.apple.managed-keychain the correct entitlement for this use case? Does it apply to SCEP/PKCS-issued certificates specifically, or only other MDM keychain items? Has anyone successfully accessed Intune-pushed S/MIME certs from an iOS app using this entitlement? Any guidance from the community or Apple engineers would be appreciated.
3
0
776
3w
Xcode 26.x Frequently Freezes During Breakpoint Debugging with Simulator
When I use Xcode 26 (0.1, 1) for debugging and hit a breakpoint, using "step over" causes the debugger to freeze at a random line of code. Clicking "Pause program execution" indicates that the line is being executed, but the breakpoint never exits, seemingly causing a freeze. The application on the simulator also becomes unresponsive. However, when I do not use breakpoints, my program runs smoothly, and debugging on a physical device does not cause any freezes. This issue only occurs with the simulator. I am using Xcode on Apple Silicon, and due to some third-party SDKs that depend on Rosetta, our app can only run on the Rosetta simulator. We did not encounter this issue when using Xcode 16.x for simulator debugging. The current situation with Xcode 26.x significantly reduces our development efficiency. What could be causing this, and is there a solution?
5
2
821
3w
Apple reviewer not seeing product pricing in paywall
Hello, I have a perplexing issue with apple reviewers not having the same experience as myself regarding the paywall. This is an Expo app and uses RevenueCat and SuperWall integrations. This app is going through its first review - it is not published yet. So the app and its subscriptions are being reviewed for the first time. I should also mention that this is my first time as an app developer, so please pardon my ignorance. When I install the app from TestFlight and launch it, I see the paywall with the product prices shown and I can complete a test purchase. Same for my friends who I've asked to test for me. But the apple reviewer does not see the product prices when the paywall is shown to them. Without being able to replicate the problem I am flying blind. I don't want to re-submit the app for review only to find the same problem exists. I also need to understand what is different between my testing environment and the apple testers. If anyone can point me in the right direction here I would really appreciate the help!
Replies
1
Boosts
0
Views
119
Activity
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.
Replies
1
Boosts
0
Views
108
Activity
3w
In-App Purchase works in TestFlight but fails during App Review (Apple can't complete purchase)
Hello, I have an issue with In-App Purchases during App Review. In TestFlight and Sandbox, everything works correctly: Products are loaded Subscriptions are visible Purchase completes successfully However, Apple reports that the purchase fails during review. My subscriptions are: Created and active in App Store Connect Attached to the app version Paid Apps Agreement accepted I also added all required information (price, duration, EULA, privacy policy). Why would purchases work in TestFlight but fail during App Review? Thank you for your help.
Replies
1
Boosts
0
Views
94
Activity
3w
EAWiFiUnconfiguredAccessoryBrowser "Accessory Setup" UI selects blank/null SSID by default
We've received several reports of a new bug while setting up our products with WAC. The Accessory Setup UI appears with a blank network selected and the message 'This accessory will be set up to join "(null)".' at top. The user can tap "Show Other Networks..." to select another network, but this experience is very confusing. Why does this UI present a choice that is known to be invalid when other valid choices exist? I've captured a screenshot and sysdiagnose from this case. In most cases this problem happens only intermittently, but I can reproduce it consistently by disconnecting my iPhone from any WiFi network (WiFi remains enabled). My suggestion for a better user experience is that this UI should select the default network according to these rules: The network to which iPhone is currently connected. Any network which is in the known/my list for this iPhone Any valid network I believe rule #1 is the existing behavior, but applying rules #2 and #3 as fallbacks would be an improvement. Is there anything I can change in my iOS code or in my accessory's WAC server to improve this experience?
Replies
7
Boosts
0
Views
509
Activity
3w
Approval of first in-App purchase
I am looking for some insight and an assist (planning to test in-app purchase with TestFlight) - all works in Xcode. I have created my very first in-App purchases App (I have other paid apps in App store) Under Distribution tab in the Monetization section i created the in-app purchases item. I completed all fields and the status is now changed from waiting fior metadata to ready to submit.. Per my readings the in-app purchase item would be reviewed with a new version of the App. I uploaded a new version, added sandbox tester and submitted it for review.. My App in TestFlight now shows status of Testing, but the in-App purchase still shows waiting for review. On the Distribution tab the "Add for Review" button is active but it seems a bit illogical for me to click it as the in-App purchases is the only completed item on my App's distribution tab (I am not ready to submit for review yet..) So as illogical as it appears, is this the way to get your first in-App purchase approved?
Replies
1
Boosts
0
Views
73
Activity
3w
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
TestFlight “What to Test” – Error processing request when submitting build for review
Hi, I’m experiencing a server-side error in App Store Connect when trying to submit a TestFlight build for review. Details: App: Ngoc Rong 2 Platform: iOS Build status: Complete Distribution: External Testing App Store Connect Web (Safari / Chrome both tested) Steps: Go to TestFlight → Select build Click “Submit for Review” Fill in “What to Test” Click Submit Result: Popup shows: "There was an error processing your request. Please try again later." Notes: Build processing completed successfully Internal testing works External group already created Issue happens consistently Tried different browsers and cleared cache Same issue across multiple builds Is this a known App Store Connect issue? Is there any workaround? Additional information: I have already contacted Apple Developer Support. Case ID: 102871190604 If needed, I can provide further details or logs. Thank you.
Replies
1
Boosts
0
Views
130
Activity
3w
Enrollement issue
Hi, I tried to enroll since week ago, went thru the whole process, but now I'm stuck on "Enrollement not completed - You enrollment in the Apple Developper pogram could not be completed at this time." I opened a case (ID: 102869536459), but I haven’t received a response yet. What's next ?
Replies
0
Boosts
0
Views
64
Activity
3w
Apple Watch companion app keeps uninstalling
Hello, I’m developing an Apple Watch companion app for my swimming application and the app keeps uninstalling/disappearing from Apple Watch. I have a specific Scheme to install it to my watches, it appears there, I can debug but after a while it disappears. It’s my first app for this device but it doesn’t seem normal to me. any idea?
Replies
1
Boosts
0
Views
72
Activity
3w
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
Disable automatic Liquid-Glass app icon generation
Hi. On my iOS app, both the app store and the device are making changes to my app icon to make it look more Liquid-Glass. See attached image showing my original icon, and then how it appears on the app store and on devices. There is an added bevel/3d effect. I'd like to not have this happen. Did anybody figure out how to turn this off? So that the icon appears as submitted. I've played around with Icon Composer a bit but haven't managed to turn this off there. And would prefer to just submit the png's. Thank you!
Replies
5
Boosts
0
Views
237
Activity
3w
CKRecordZone deleted when second user accepts zone-wide CKShare
I'm seeing a critical issue where a custom CKRecordZone is consistently deleted server-side when a second iCloud account interacts with a zone-wide CKShare. I've reproduced this 20+ times across two days and have exhausted every client-side fix I can think of. Looking for guidance on what might be going wrong. Setup Container: iCloud.com.cohencooks (production app on App Store) Custom CKRecordZone in owner's private database Zone-wide CKShare(recordZoneID:) (iOS 15+ zone sharing) SwiftData with ModelConfiguration(cloudKitDatabase: .none) — no automatic CloudKit mirroring Acceptance via CKFetchShareMetadataOperation → CKContainer.accept(metadata) (no UICloudSharingController) Minimal reproduction // 1. Owner creates zone + share let zone = CKRecordZone(zoneName: "MyZone") try await privateDB.save(zone) let share = CKShare(recordZoneID: zone.zoneID) share[CKShare.SystemFieldKey.title] = "My Share" as CKRecordValue share.publicPermission = .readWrite let (results, _) = try await privateDB.modifyRecords(saving: [share], deleting: []) // 2. Owner pushes ~500 records to zone — all succeed // 3. Second user (different iCloud account) accepts share let metadata = try await container.shareMetadata(for: shareURL) try await container.accept(metadata) // 4. Owner's next CKFetchRecordZoneChangesOperation → zoneNotFound (code 26) // Zone is permanently gone. allRecordZones() confirms deletion. What I observe Three distinct failure patterns depending on configuration: Pattern 1 — publicPermission = .readWrite, no addParticipant: Zone dies instantly after acceptance. First push notification shows cloudkit.share changed (zone alive), second push notification returns zoneNotFound. The non-owner never successfully wrote anything. Pattern 2 — publicPermission = .none with explicit addParticipant: Zone survives acceptance and 2-3 minutes of bidirectional sync (non-owner pulls 578 records, pushes meal plans back). Then a push notification arrives and the zone is gone. This is dramatically better than Pattern 1 but still fails. Pattern 3 — Container destabilization after repeated testing: After 20+ create/delete cycles in one day, zones die from the owner's own push notifications — no second device involved at all. The container appears to enter an unstable state. What I've ruled out Hypothesis Test Result publicPermission = .readWrite Changed to .none + explicit addParticipant Zone survived longer but still eventually deleted Zone name tombstoning Tested 6 fresh names never used in this container All eventually deleted Non-owner writes causing deletion Gated ALL non-owner push methods (recipe, meal plan, grocery, photo, event) Zone still deleted database.save(share) vs modifyRecords Switched to modifyRecords(saving:deleting:) Zone still deleted NSPersistentCloudKitContainer interference Removed all Core Data CloudKit code Zone still deleted Double share acceptance Fresh app install, single acceptance only Zone still deleted Advanced Data Protection Neither account has ADP enabled Not the cause Programmatic vs system acceptance Tested both container.accept() and tapping share link Zone still deleted CloudKit Dashboard No ZoneDelete operation is visible in the logs. All operations are ZoneFetch, ZoneChanges, RecordQuery, RecordFetch. I do see EphemeralGroup operations targeting the custom zone — not sure what generates those. Comparison with working apps I compared my implementation with another app (Spotbook) that uses the exact same zone-wide CKShare(recordZoneID:) pattern with publicPermission = .readWrite and programmatic acceptance — and it works. The main difference is that app uses CKSyncEngine (iOS 17+) rather than raw CKFetchRecordZoneChangesOperation / CKModifyRecordsOperation. Could CKSyncEngine be handling something internally that prevents this issue? Questions Is there a known interaction between zone-wide CKShare(recordZoneID:) acceptance and zone lifecycle that could cause zone deletion? Does CKSyncEngine handle zone-wide sharing differently than manual CKFetchRecordZoneChangesOperation + CKModifyRecordsOperation? What generates EphemeralGroup operations in CloudKit Dashboard? Could these trigger a zone delete? After 20+ zone create/delete cycles in a container, is there a server-side rate limit or tombstone mechanism that would destabilize new zones? Is the custom programmatic acceptance flow (CKFetchShareMetadataOperation → container.accept()) fully supported for zone-wide shares, or does it require UICloudSharingController? Any guidance would be greatly appreciated. This is blocking multi-user functionality for our app (mesa, a meal planning app on the App Store). Single-user sync works perfectly — the issue only manifests when a second iCloud account is involved. Environment: iOS 18.4.1, Xcode 16+, Swift, SwiftUI
Replies
3
Boosts
0
Views
167
Activity
3w
What is the optimal number of records per shard?
Hello, I am currently developing a PIR server using the pir-server-example repository. We are anticipating a total of 10 million URLs for our dataset. In this context, what would be the optimal shard size (number of records per shard) to balance computational latency and communication overhead? Any advice or best practices for handling a dataset of this scale would be greatly appreciated. Thank you.
Replies
2
Boosts
0
Views
215
Activity
3w
Embedded Collection View in SwiftUI offset issue
I have a collection view that covers all the screen and it is scrolling behavior is paging. This collection view is embedded in a UIViewRepresentable and used in a SwiftUI app. The issue is that when users rotate the devices, sometimes the CollectionView.contentOffset get miscalculated and shows 2 pages. This is the code that I'm using for the collectionView and collectionViewLayout: class PageFlowLayout: UICollectionViewFlowLayout { override class var layoutAttributesClass: AnyClass { UICollectionViewLayoutAttributes.self } private var calculatedAttributes: [UICollectionViewLayoutAttributes] = [] private var calculatedContentWidth: CGFloat = 0 private var calculatedContentHeight: CGFloat = 0 public weak var delegate: PageFlowLayoutDelegate? override var collectionViewContentSize: CGSize { return CGSize(width: self.calculatedContentWidth, height: self.calculatedContentHeight) } override init() { super.init() self.estimatedItemSize = .zero self.scrollDirection = .horizontal self.minimumLineSpacing = 0 self.minimumInteritemSpacing = 0 self.sectionInset = .zero } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func prepare() { guard let collectionView = collectionView, collectionView.numberOfSections > 0, calculatedAttributes.isEmpty else { return } estimatedItemSize = collectionView.bounds.size for item in 0..<collectionView.numberOfItems(inSection: 0) { let indexPath = IndexPath(item: item, section: 0) let attributes = UICollectionViewLayoutAttributes(forCellWith: indexPath) let itemOrigin = CGPoint(x: CGFloat(item) * collectionView.frame.width, y: 0) attributes.frame = .init(origin: itemOrigin, size: collectionView.frame.size) calculatedAttributes.append(attributes) } calculatedContentWidth = collectionView.bounds.width * CGFloat(calculatedAttributes.count) calculatedContentHeight = collectionView.bounds.size.height } override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? { return calculatedAttributes.compactMap { return $0.frame.intersects(rect) ? $0 : nil } } override func layoutAttributesForItem(at indexPath: IndexPath) -> UICollectionViewLayoutAttributes? { return calculatedAttributes[indexPath.item] } override func shouldInvalidateLayout(forBoundsChange newBounds: CGRect) -> Bool { guard let collectionView else { return false } if newBounds.size != collectionView.bounds.size { return true } if newBounds.size.width > 0 { let pages = calculatedContentWidth / newBounds.size.width // If the contentWidth matches the number of pages, // if not it requires to layout the cells let arePagesExact = pages.truncatingRemainder(dividingBy: 1) == 0 return !arePagesExact } return false } override func invalidateLayout() { calculatedAttributes = [] super.invalidateLayout() } override func shouldInvalidateLayout(forPreferredLayoutAttributes preferredAttributes: UICollectionViewLayoutAttributes, withOriginalAttributes originalAttributes: UICollectionViewLayoutAttributes) -> Bool { guard let collectionView, #available(iOS 18.0, *) else { return false } return preferredAttributes.size != collectionView.bounds.size } override func invalidateLayout(with context: UICollectionViewLayoutInvalidationContext) { guard let customContext = context as? UICollectionViewFlowLayoutInvalidationContext else { return } if let collectionView, let currentPage = delegate?.currentPage() { let delta = (CGFloat(currentPage) * collectionView.bounds.width) - collectionView.contentOffset.x customContext.contentOffsetAdjustment.x += delta } calculatedAttributes = [] super.invalidateLayout(with: customContext) } override func prepare(forAnimatedBoundsChange oldBounds: CGRect) { super.prepare(forAnimatedBoundsChange: oldBounds) guard let collectionView else { return } if oldBounds.width != collectionView.bounds.width { invalidateLayout() } } override func targetContentOffset(forProposedContentOffset proposedContentOffset: CGPoint) -> CGPoint { guard let collectionView, let currentPage = delegate?.currentPage() else { return .zero } let targetContentOffset = super.targetContentOffset(forProposedContentOffset: proposedContentOffset) let targetPage = targetContentOffset.x / collectionView.frame.width if targetPage != CGFloat(currentPage) { let xPosition = CGFloat(currentPage) * collectionView.frame.width return CGPoint(x: xPosition, y: 0) } return targetContentOffset } // This function updates the contentOffset in case is wrong override func finalizeCollectionViewUpdates() { guard let collectionView, let currentPage = delegate?.currentPage() else { return } let xPosition = CGFloat(currentPage) * collectionView.bounds.width if xPosition != collectionView.contentOffset.x { let offset = CGPoint(x: xPosition, y: 0) collectionView.setContentOffset(offset, animated: false) } } } The full implementation is attached in the .txt file: RotationTestView.txt
Replies
6
Boosts
0
Views
208
Activity
3w
Kleio – AI voice keyboard TestFlight beta for fast dictation and accessibility feedback
Hi everyone, I’m an indie iOS developer working on Kleio, an AI voice keyboard extension that lets you dictate text quickly anywhere you can type. I’m looking for a small group of beta testers who are willing to try it through TestFlight and share feedback about stability, UX, and accessibility. What Kleio does Adds a custom keyboard so you can press the mic button and dictate instead of typing. Uses AI to turn rough speech into cleaned‑up, properly punctuated text. Lets you pick different writing styles (e.g. more formal vs more casual) for how your dictation should read. Supports a personal dictionary for custom words and names. Keeps transcript history on‑device by default, with optional cloud sync and improvement sharing. Includes a “Privacy Mode” toggle when you don’t want anything uploaded. What I’d love feedback on Onboarding flow for first‑time setup and keyboard enabling. The dictation experience inside real apps (Messages, Notes, Mail, social apps, etc.). Latency, accuracy, and how well the edited text matches what you meant to say. Keyboard layout, button placement, and any confusing interactions. Accessibility and inclusion: How well it works with VoiceOver / Switch Control. Any issues with contrast, touch targets, or labels. Any specific needs for users who rely on voice input more than typing. TestFlight link You can join the beta here: https://testflight.apple.com/join/jGY1fZ7S External group: “Twitter” (currently around 9 testers). No login is required for basic dictation; some settings sync features use account sign‑in. How to send feedback Through TestFlight’s built‑in feedback / screenshots. If you run into crashes, unexpected latency, or accessibility problems, details like device model, iOS version, and what app you were dictating into are extremely helpful. Thanks in advance to anyone who’s willing to try Kleio and help me make the keyboard more reliable and accessible.
Replies
0
Boosts
0
Views
203
Activity
3w
Guideline 2.5.1 - Performance - Software Requirements
审核回复:Issue Description The app uses public APIs in an unapproved manner, which does not comply with guideline 2.5.1. Specifically, the app still uses the ScreenTime API to hide apps. Since there is no accurate way of predicting how an API may be modified and what effects those modifications may have, unapproved uses of public APIs in apps is not allowed. 代码我都没有怎么改,然后之前2025年都上架成功了的,现在更新一个版本后,就不让上架了,是怎么回事?
Replies
0
Boosts
0
Views
183
Activity
3w
URL Filter Network Extension
Hello team, I am trying to find out a way to block urls in the chrome browser if it is found in local blocked list cache. I found URL Filter Network very much suitable for my requirement. But I see at multiple places that this solution is only for Enterprise level or MDM or supervised device. So can I run this for normal user ? as my targeting audience would be bank users. One more thing how can I test this in development environment if we need supervised devices and do we need special entitlement ? When trying to run sample project in the simulator then getting below error
Replies
15
Boosts
0
Views
531
Activity
3w
App Crash with mxSignpost function not found
Hi team: I recently update to Xcode 26.4, and I encountered crash when running to < iOS 26.4 both for physical device and Simulator with this log: dyld[1257]: Symbol not found: _$s9MetricKit10mxSignpost_3dso3log4name10signpostID__ySo03os_H7_type_ta_SVSo03OS_j1_F0Cs12StaticStringV0J0010OSSignpostI0VALSays7CVarArg_pGtF Referenced from: <164CCEB0-E1F8-3CE2-A934-2096C19C0A9A> /private/var/containers/Bundle/Application/EA709A68-F76F-4D97-85C6-B71D61D68389/xxx.app/xxx.debug.dylib Expected in: <9E5EC9BB-5828-329C-A2BC-038B67060298> /System/Library/Frameworks/MetricKit.framework/MetricKit Symbol not found: _$s9MetricKit10mxSignpost_3dso3log4name10signpostID__ySo03os_H7_type_ta_SVSo03OS_j1_F0Cs12StaticStringV0J0010OSSignpostI0VALSays7CVarArg_pGtF Referenced from: <164CCEB0-E1F8-3CE2-A934-2096C19C0A9A>x /private/var/containers/Bundle/Application/EA709A68-F76F-4D97-85C6-B71D61D68389/xxx.app/xxx.debug.dylib Expected in: <9E5EC9BB-5828-329C-A2BC-038B67060298> /System/Library/Frameworks/MetricKit.framework/MetricKit dyld config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/usr/lib/libLogRedirect.dylib:/usr/lib/libBacktraceRecording.dylib:/usr/lib/libMainThreadChecker.dylib:/usr/lib/libRPAC.dylib:/usr/lib/libViewDebuggerSupport.dylib but iOS 26.4 works well. Env: Xcode: 26.4 Simulator/Physical Device: < 26.4 macOS: 26.3 Thanks for giving any help.
Replies
6
Boosts
1
Views
511
Activity
3w
Requesting com.apple.managed-keychain Entitlement for Enterprise S/MIME Cert Visibility
Requesting com.apple.managed-keychain Entitlement for Enterprise S/MIME Cert Visibility Platform: iOS | Distribution: MDM (Microsoft Intune) | Not App Store We are developing an internal enterprise iOS app (EMS Assist, com.company.supportcompanion) for Company deployed exclusively to Intune-managed devices. Our requirement: Read S/MIME certificates pushed to the device via Intune SCEP profiles to: Confirm cert presence in the MDM-managed keychain Read expiry date (kSecAttrNotValidAfter) to warn users before expiry Distinguish between missing, expired, and valid cert states What we have tried: Standard SecItemCopyMatching query — returns only app-installed certs, not MDM-pushed certs Graph API (deviceConfigurationStates) — confirms profile compliance but does not expose actual cert expiry or keychain presence Our understanding: com.apple.managed-keychain is required for an app to access MDM-managed keychain items on supervised devices, combined with a matching keychain-access-groups entitlement and the cert profile configured as "always available" in MDM. Questions: Is com.apple.managed-keychain the correct entitlement for this use case? Does it apply to SCEP/PKCS-issued certificates specifically, or only other MDM keychain items? Has anyone successfully accessed Intune-pushed S/MIME certs from an iOS app using this entitlement? Any guidance from the community or Apple engineers would be appreciated.
Replies
3
Boosts
0
Views
776
Activity
3w
Xcode 26.x Frequently Freezes During Breakpoint Debugging with Simulator
When I use Xcode 26 (0.1, 1) for debugging and hit a breakpoint, using "step over" causes the debugger to freeze at a random line of code. Clicking "Pause program execution" indicates that the line is being executed, but the breakpoint never exits, seemingly causing a freeze. The application on the simulator also becomes unresponsive. However, when I do not use breakpoints, my program runs smoothly, and debugging on a physical device does not cause any freezes. This issue only occurs with the simulator. I am using Xcode on Apple Silicon, and due to some third-party SDKs that depend on Rosetta, our app can only run on the Rosetta simulator. We did not encounter this issue when using Xcode 16.x for simulator debugging. The current situation with Xcode 26.x significantly reduces our development efficiency. What could be causing this, and is there a solution?
Replies
5
Boosts
2
Views
821
Activity
3w