Post

Replies

Boosts

Views

Activity

Reply to Validation incorrectly detects need for web browser engine entitlement, causes "corrupted binaries" error
Thank you for the response! However, I've found the actual root cause of the issue. To clarify: I'm not using iOS 26 beta or arm64e architecture - I verified this multiple times in my build settings. My app targets iOS 15+ and uses standard architectures. Root Cause Identified: The web browser engine entitlement requirement is being incorrectly triggered by a complex async pattern in my SwiftUI code. Specifically, this .task block with nested withCheckedContinuation, actor, and withObservationTracking: .task { if isLoading { // Wait for AuthManager to complete user state determination print("🕐 SkydenApp: Waiting for AuthManager to complete user state determination...") // Use withObservationTracking to wait for isUserStateReady await withCheckedContinuation { (continuation: CheckedContinuation<Void, Never>) in actor ContinuationState { private var hasResumed = false func tryResume(_ continuation: CheckedContinuation<Void, Never>) -> Bool { if !hasResumed { hasResumed = true continuation.resume() return true } return false } func shouldContinue() -> Bool { return !hasResumed } } let state = ContinuationState() @MainActor func checkReadyState() { withObservationTracking { let isReady = appContext.authManager.isUserStateReady print("🔍 SkydenApp: AuthManager.isUserStateReady = \(isReady)") if isReady { Task { if await state.tryResume(continuation) { print("✅ SkydenApp: AuthManager user state ready!") } } } } onChange: { // Re-check when state changes, but only if we haven't resumed yet Task { if await state.shouldContinue() { await MainActor.run { checkReadyState() } } } } } // Start checking on main actor Task { @MainActor in checkReadyState() } } // Non-blocking: Start app initialization in background Task { await performAppInitialization() } isLoading = false // Small delay to ensure main content is ready before fade try? await Task.sleep(for: .milliseconds(500)) // Trigger fade out animation shouldFadeOutSplash = true } } When I simplified this to a basic async pattern, the entitlement requirement disappeared completely. This appears to be a bug in Apple's static analysis/validation tools - they're incorrectly flagging this complex async pattern as requiring web browser engine capabilities, when it's actually just waiting for an observable property to change. Impact: This could affect other developers using similar advanced async patterns with SwiftUI observation, even when they have no web browser functionality in their apps. Reproduction: The above code should reliably reproduce the issue when validating with App Store Connect. I hope this helps the validation team identify and fix this edge case in the static analysis tools!
Jul ’25
Reply to Code Signing or Xcode adding mysterious entitlements that not exist in project
Hey man, I've been struggling with a similar issue where Apple his adding a "com.apple.developer.web-browser-engine.host" entitlements to my app although I never use it. -> Which means I fail the validation from SPI when uploading to App Store Connect as it is supposed to be a private entitlements that needs to be granted by Apple. Can you explain exactly what you did to solve your issue? Where did you found the /var/folders you're talking about? Cheers man
Topic: Code Signing SubTopic: Entitlements Tags:
Jul ’25