Hey everyone, I'm hitting a really frustrating issue with App Attest. My app was working perfectly with DCAppAttestService on October 12th, but starting October 13th it started failing with DCError Code 2 "Failed to fetch App UUID" at DCAppAttestController.m:153. The weird part is I didn't change any code - same implementation, same device, same everything.
I've tried switching between development and production entitlement modes, re-registered my device in the Developer Portal, created fresh provisioning profiles with App Attest capability, and verified that my App ID has App Attest enabled. DCAppAttestService.isSupported returns true, so the device supports it. Has anyone else run into this? This is blocking my production launch and I'm not sure if it's something on my end or an Apple infrastructure issue.
Prioritize user privacy and data security in your app. Discuss best practices for data handling, user consent, and security measures to protect user information.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I'm experiencing an issue with Sign In with Apple integration in my React Native Expo app (Bundle ID: com.anonymous.TuZjemyApp).
Problem Description:
When users attempt to sign in using Sign In with Apple, they successfully complete Face ID/password authentication, but then receive a "Sign-Up not completed" error message. The authentication flow appears to stop at this point and doesn't return the identity token to my app.
Technical Details:
Frontend Implementation:
Using expo-apple-authentication.
Requesting scopes: FULL_NAME and EMAIL
App is properly configured in app.json with:
usesAppleSignIn: true
Entitlement: com.apple.developer.applesignin
Backend Implementation:
Endpoint: POST /api/auth/apple
Using apple-signin-auth package for token verification
Verifying tokens with audience: com.anonymous.TuZjemyApp
Backend creates/updates user accounts based on Apple ID
Question:
I'm not sure why the authentication flow stops with "Sign-Up not completed" after successful Face ID verification. The identity token never reaches my app. Could you please help me understand:
What might cause this specific error message?
Are there any additional Apple Developer Portal configurations required?
Could this be related to app capabilities or entitlements?
Is there a specific setup needed for the app to properly receive identity tokens?
I set up provisioning profiles, and added Sign in with Apple as a capability and still it doesn't work.
Hello, I currently have an app that includes the "Sign in with Apple" feature, and I need to transfer this app to another app team. I have reviewed all official documentation but have not found the answer I need. My situation has some specificities, and I hope to receive assistance.
The .p8 key created by the original developer team has been lost, and the app’s backend does not use a .p8 key for verification—instead, it verifies by obtaining Apple’s public key. However, according to the official documentation I reviewed, obtaining a transfer identifier during the app transfer process requires a client_secret generated from the original team’s .p8 key. This has left us facing a challenge, and we have two potential approaches to address this issue:
Q1: During the transfer, is it possible to skip obtaining the transfer identifier and proceed directly with the app transfer, without performing any backend operations? Is this approach feasible?
Q2: If the above approach is not feasible, should we create a new .p8 key in the original team’s account and use this new key for the transfer? If a new key is generated, do we need to re-release a new version of the app before initiating the transfer?
If neither of the above approaches is feasible, are there better solutions to resolve our issue? I hope to receive a response. Thank you.
TN3159: Migrating Sign in with Apple users for an app transfer | Apple Developer Documentation/
https://developer.apple.com/documentation/signinwithapple/transferring-your-apps-and-users-to-another-team
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
Sign in with Apple REST API
Sign in with Apple
Problem Summary
I'm experiencing a persistent invalid-credential error with Apple Sign-In on iOS despite having verified every aspect of the configuration over the past 6 months. The error occurs at the Firebase Authentication level after successfully receiving credentials from Apple.
Error Message: Firebase auth error: invalid-credential - Invalid OAuth response from apple.com. Environment
Platform: iOS (Flutter app)
Firebase Auth: v5.7.0
Sign in with Apple: v6.1.2
Xcode: Latest version with capability enabled
iOS Target: 13.0+
Bundle ID: com.harmonics.orakl
What Actually Happens
✅ Apple Sign-In popup appears
✅ User can authenticate with Apple ID
✅ Apple returns credentials with identityToken
❌ Firebase rejects with invalid-credential error
The error occurs at Firebase level, not Apple level.
What I've Tried
Created a brand new Apple Key (previous key was 6 months old)
Tested with both App ID and Service ID in Firebase
Completely reinstalled CocoaPods dependencies
Verified nonce handling is correct (hashed to Apple, raw to Firebase)
Activated Firebase Hosting and attempted to deploy .well-known file
Checked Cloud Logging (no detailed error messages found)
Disabled and re-enabled Apple Sign-In provider in Firebase
Verified Return URL matches exactly
Waited and retried multiple times over 6 months
Questions
Is the .well-known/apple-developer-domain-association.txt file required? If yes, how should it be generated? Firebase Hosting doesn't auto-generate it.
Could there be a server-side caching/blacklist issue with my domain or Service ID after multiple failed attempts?
Should the Apple Key be linked to the Service ID instead of the App ID? The key shows as linked to Z3NNDZVWMZ.com.harmonics.orakl (the App ID).
Is there any way to get more detailed error logs from Firebase about why it's rejecting the Apple OAuth response?
Could using a custom domain instead of .firebaseapp.com resolve the issue?
Additional Context
Google Sign-In works perfectly on the same app
The configuration has been reviewed by multiple developers
Error persists across different devices and iOS versions
No errors in Xcode console except the Firebase rejection
Any help would be greatly appreciated. I've exhausted all standard troubleshooting steps and documentation.
Project Details:
Bundle ID: com.harmonics.orakl
Firebase Project: harmonics-app
Team ID: Z3N.......
code : // 1. Generate raw nonce
final String rawNonce = _generateRandomNonce();
// 2. Hash with SHA-256
final String hashedNonce = _sha256Hash(rawNonce);
// 3. Send HASHED nonce to Apple ✅
final appleCredential = await SignInWithApple.getAppleIDCredential(
scopes: [AppleIDAuthorizationScopes.email, AppleIDAuthorizationScopes.fullName],
nonce: hashedNonce, // Correct: hashed nonce to Apple
);
// 4. Create Firebase credential with RAW nonce ✅
final oauthCredential = OAuthProvider("apple.com").credential(
idToken: appleCredential.identityToken!,
rawNonce: rawNonce, // Correct: raw nonce to Firebase
);
// 5. Sign in with Firebase - ERROR OCCURS HERE ❌
await FirebaseAuth.instance.signInWithCredential(oauthCredential);
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Hello everyone,
We recently transferred our iOS app from one Apple Developer account to another, and after the transfer, we encountered a serious issue where all previously stored Keychain data and the local database became inaccessible.
As a result, all users are automatically logged out and lose access to their locally stored data (such as chat history) once they update to the new version signed with the new Team ID.
We understand that Keychain items are tied to the App ID prefix (Team ID), which changes during an app transfer. However, we’re looking for possible workarounds or best practices to avoid user data loss.
Questions:
Is there any reliable method to maintain or migrate access to old Keychain data after an app transfer?
Would reverting the app back to the original developer account and releasing an update from there (to persist or migrate data) before transferring it again be a viable solution?
Has anyone faced a similar issue and found a practical way to handle data persistence during an app transfer?
Any guidance, technical suggestions, or shared experiences would be highly appreciated. This issue is causing major impact for our users, so we’re hoping to find a safe and supported approach.
Thank you,
Mohammed Hassan
Hi,is there an option to mark the file or folder or item stored in user defaults ... not to be backed up when doing unencrypted backup in iTunes?We are developing iOS app that contains sensitive data. But even if we enable Data Protection for the iOS app it can be backed up on mac unencrypted using iTunes. Is there a way to allow backing up content only if the backup is encrypted?
Hello,
I’m storing some values in the Keychain with the attribute ‘ksecattraccessibleafterfirstunlockthisdeviceonly’ (https://developer.apple.com/documentation/security/ksecattraccessibleafterfirstunlockthisdeviceonly).
When I migrate user data between iPhones via iCloud, this behaves as expected and the keys are not preserved.
However, when I migrate using a direct connection between two devices, the keys are preserved, which seems to contradict the attribute’s intent.
Is this a known behavior, and if so, is there a workaround?
Topic:
Privacy & Security
SubTopic:
General
I have a project with a single app target that serves two environments, and two schemes, one for each env, using xcconfig files for defining environment-specific stuff.
I'm trying to figure this out for months, so I've tried multiple approaches throughout this period:
Have a single domain in "Associated domains" in Xcode, defined as webcredentials:X where X gets replaced using a value from xcconfig.
Have two domain entries in "Associated domains" webcredentials:PROD_DOMAIN and webcredentials:STAGING_DOMAIN.
Have a different order of domains
Results are very interesting: whatever I do, whatever approach I take, password autofill works on staging, but doesn't work on production. I'm aware that we need to test production on Test Flight and AppStore builds. That's how we're testing it, and it's not working. Tested on multiple devices, on multiple networks (wifi + mobile data), in multiple countries.. you name it.
The server side team has checked their implementation a dozen times; it's all configured properly, in the exact same way across environments (except bundle ID, ofc).
We tried a couple websites for validating the apple-app-site-association file, and while all of those are focused on testing universal links, they all reported that the file is configured properly. Still, password autofill doesn't work.
I prefer not to share my app's domains publicly here. Ideally I would contact Apple Developer Support directly, but they now require a test project for that, and since 'a test project' is not applicable to my issue, I'm posting here instead.
I've come across strange behavior with the userID property on the returned credential from a passkey attestation.
When performing a cross-device passkey assertion between iOS and Android by scanning the generated QR code on my iPhone with an Android device the returned credential object contains an empty userID.
This does not happen when performing an on device or cross-device assertion using two iPhones.
Is this expected behavior, or is there something I'm missing here? I couldn't find any more information on this in the documentation.
iOS Version: 26.0.1, Android Version: 13
Topic:
Privacy & Security
SubTopic:
General
Tags:
Passkeys in iCloud Keychain
Authentication Services
The header documentation for the (deprecated) LAContext.evaluatedPolicyDomainState property contains the following:
@warning Please note that the value returned by this property can change exceptionally between major OS versions even if the state of biometry has not changed.
I noticed that the documentation for the new LAContext.domainState property does not contain a similar warning. I also found this related thread from 2016/17.
Is the domainState property not susceptible to changes between major OS versions? Or is this generally not an issue anymore?
I'm seeing some odd behavior which may be a bug. I've broken it down to a least common denominator to reproduce it. But maybe I'm doing something wrong.
I am opening a file read-write. I'm then mapping the file read-only and private:
void* pointer = mmap(NULL, 17, PROT_READ, MAP_FILE | MAP_PRIVATE, fd, 0);
I then unmap the memory and close the file. After the close, eslogger shows me this:
{"close":{"modified":false,[...],"was_mapped_writable":false}}
Which makes sense.
I then change the mmap statement to:
void* pointer = mmap(NULL, 17, PROT_READ, MAP_FILE | MAP_SHARED, fd, 0);
I run the new code and and the close looks like:
{"close":{"modified":false, [....], "was_mapped_writable":true}}
Which also makes sense.
I then run the original again (ie, with MAP_PRIVATE vs. MAP_SHARED) and the close looks like:
{"close":{"modified":false,"was_mapped_writable":true,[...]}
Which doesn't appear to be correct.
Now if I just open and close the file (again, read-write) and don't mmap anything the close still shows:
{"close":{ [...], "was_mapped_writable":true,"modified":false}}
And the same is true if I open the file read-only.
It will remain that way until I delete the file. If I recreate the file and try again, everything is good until I map it MAP_SHARED.
I tried this with macOS 13.6.7 and macOS 15.0.1.
For testing purposes we have code that calls SecTrustEvaluateAsyncWithError() with a trust object containing a hardcoded leaf certificate and the corresponding intermediate certificate required to form a valid chain. Because the leaf certificate has since expired we pass a date in the past via SecTrustSetVerifyDate() at wich the certificate was still valid, but trust evaluation fails:
Error Domain=NSOSStatusErrorDomain Code=-67825 "“<redacted>” certificate is not standards compliant" UserInfo={NSLocalizedDescription=“<redacted>” certificate is not standards compliant, NSUnderlyingError=0x600000c282a0 {Error Domain=NSOSStatusErrorDomain Code=-67825 "Certificate 0 “<redacted>” has errors: Certificate Transparency validation required for this use;" UserInfo={NSLocalizedDescription=Certificate 0 “<redacted>” has errors: Certificate Transparency validation required for this use;}}}
I know that App Transport Security enforces Certificate Transparency by default, but is there a way around that here?
Hi Apple team,
For our iPhone app (App Store build), a small subset of devices report DCAppAttestService.isSupported == false, preventing App Attest from being enabled.
Approx. impact: 0.23% (352/153,791)
iOS observed: Broadly 15.x–18.7 (also saw a few anomalous entries ios/26.0, likely client logging noise)
Device models: Multiple generations (iPhone8–iPhone17); a few iPad7 entries present although the app targets iPhone
Questions
In iPhone main app context, what conditions can make isSupported return false on iOS 14+?
Are there known device/iOS cases where temporary false can occur (SEP/TrustChain related)? Any recommended remediation (e.g., DFU restore)?
Could you share logging guidance (Console.app subsystem/keywords) to investigate such cases?
What fallback policy do you recommend when isSupported == false (e.g., SE-backed signature + DeviceCheck + risk rules), and any limitations?
We can provide sysdiagnose/Console logs and more case details upon request.
Thank you,
—
Hello,
I’m trying to remove the “Sign in with Apple” for my app via the iOS settings (also tried on a Mac, and on the web via account.apple.com).
When I tap “Stop Using”, nothing happens, the dialog disappear but the app remains listed.
Someone said on a forum that the issue is linked with the ServiceId that doesn't exist anymore. But how to recover it ? And anyway this behavior is unintended and creates a gap in the process.
Has anyone experienced this before? Is there a known fix, or should I contact Apple Support directly for server-side revocation?
Thank you!
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
I've just implemented Sign-In-With-Apple and everything is working perfectly, but my app seems to be in some strange state where users are unable to remove it from the Sign-In-With-Apple section of their settings.
Things I've tried:
-- Deleting from Mac. (It just stays in the list)
-- Deleting from the iPhone (It stays in the list)
-- Deleting from account.apple.com (same issue)
-- I've noticed in the browser inspector tools I receive a 200 on the DELETE request, but the app remains.
-- Multiple users
Also have tried:
-- Revoking the token through the REST API
-- I get an email saying the token has been revoked, but it's still working
-- Same code, different app id (works fine!)
It seems like maybe my app is in some sort of weird state? Has anyone come across this before?
Hi Team,
We are trying to understand deep sleep behaviour, can you please help us clarifying on the below questions:
When will we configure Hibernate 25, is it valid for M series MacBooks?
Is Hibernate 25 called deep sleep mode?
What are the settings I need to do on Mac, to make my Mac go in to deep sleep?
When awakening from deep sleep , what would be macOS system behaviour?
If we have custom SFAuthorization plug in at system.login.screensaver, what would be the behaviour with deep sleep?
We are working on a PoC iOS App to use "Sign in with Apple" on iOS. The app needs to authenticate the current user on MDM managed corporate iPads (with Shared iPad enabled) and each user having a Managed Apple ID (created in Apple Business Manager).
We have started with Apple's example app:
https://developer.apple.com/documentation/authenticationservices/implementing-user-authentication-with-sign-in-with-apple
When we run it on a normal iPad (without MDM supervision) it works fine.
When we run the same code on a managed iPad with Shared iPad enabled and Managed Apple ID's the app errors out when a user taps the "Sign in with Apple" button.
A User-facing error message is displayed:
“Your Apple Account cannot be used to create accounts for other apps.”
And when we run the app from Xcode we see the following logs:
Authorization failed: Error Domain=AKAuthenticationError Code=-7027 "(null)" UserInfo={AKClientBundleID=com.sampleapp.test2}
LaunchServices: store (null) or url (null) was nil: Error Domain=NSOSStatusErrorDomain Code=-54 "process may not map database" UserInfo={NSDebugDescription=process may not map database, _LSLine=72, _LSFunction=_LSServer_GetServerStoreForConnectionWithCompletionHandler}
Attempt to map database failed: permission was denied. This attempt will not be retried.
Failed to initialize client context with error Error Domain=NSOSStatusErrorDomain Code=-54 "process may not map database" UserInfo={NSDebugDescription=process may not map database, _LSLine=72, _LSFunction=_LSServer_GetServerStoreForConnectionWithCompletionHandler}
Failed to get application extension record: Error Domain=NSOSStatusErrorDomain Code=-54 "(null)"
ASAuthorizationController credential request failed with error: Error Domain=com.apple.AuthenticationServices.AuthorizationError Code=1000 "(null)"
Could not authenticate: The operation couldn’t be completed. (com.apple.AuthenticationServices.AuthorizationError error 1000.)
We have confirmed that in ABM "Sign in with Apple" feature is enabled with "Allowed apps": "All apps".
We have also confirmed that the Managed AppleIDs created in ABM have no field to provide the birthday of the user and therefore ruling out age restrictions for "Sign in with Apple".
Is "Sign in with Apple" supported in MDM managed iPADs with
Shared iPad enabled and managed AppleIDs?
If it is supported, do we know what other configurations we need to get it to work?
Do we know why "Sign in with Apple" would error out with
Authorization failed: Error Domain=AKAuthenticationError Code=-7027 "(null)" UserInfo={AKClientBundleID=com.sampleapp.test2} LaunchServices: store (null) or url (null) was nil: Error Domain=NSOSStatusErrorDomain Code=-54 "process may not map database" UserInfo={NSDebugDescription=process may not map database, _LSLine=72,
Environment:
• iPadOS version: IPadOS Version 18.7
• Xcode version: Version 26.0 (17A324)
• Device type: iPad Air 11-inch (M3) in Shared iPad mode
• Account type: Managed Apple ID created in ABM enrolled with Intune MDM)
Thank you
Hello,
We received a rejection on one of our IOS applications because we were doing Microsoft MSAL login through the user's browser. The representative recommended that we use Webview to do in-app logins. However when we tried to handle the custom app uri redirection (looking like myapp://auth/), Webview does not seem to send the user back to the application. Does anyone have a fix for this?
Thanks!
Topic:
Privacy & Security
SubTopic:
General
Tags:
Safari and Web
UI Frameworks
Authentication Services
WebKit
"Our app has absolutely no integration with DiDi login. We only integrate WeChat, QQ, carrier, and Apple ID login, and all related login entry icons are local resources. On an iPhone 16 Pro Max device with iOS system version 18.7, there was one isolated incident where the Apple ID login entry icon mysteriously changed to the DiDi app icon. What could be the possible iOS system-level causes for this?"
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Hi,
Before I begin my investigation, I want to explain our code-level support process for issues related to Sign in with Apple—as the issue you’re reporting may be the result of any of the following:
An error in your app or web service request.
A configuration issue in your Developer Account.
An internal issue in the operation system or Apple ID servers.
To ensure the issue is not caused by an error within your Private Email Replay configuration, please review Configuring your environment for Sign in with Apple to learn more about registering your email sources and authenticated domains.
To prevent sending sensitive message details in plain text, you should create a report in Feedback Assistant to share the details requested below. Additionally, if I determine the error is caused by an internal issue in the operating system or Apple ID servers, the appropriate engineering teams have access to the same information and can communicate with you directly for more information, if needed. Please follow the instructions below to submit your feedback.
Gathering required information for troubleshooting Private Email Relay with Sign in with Apple
For issues occurring with your email delivery, ensure your feedback contains the following information:
the primary App ID and Services ID
the user’s Apple ID and/or email address
the email message headers
the Private Email Relay Service or Hide My Email message delivery failure, and SMTP error codes
Submitting your feedback
Before you submit to Feedback Assistant, please confirm the requested information above is included in your feedback. Failure to provide the requested information will only delay my investigation into the reported issue within your Sign in with Apple client.
After your submission to Feedback Assistant is complete, please respond in your existing Developer Forums post with the Feedback ID. Once received, I can begin my investigation and determine if this issue is caused by an error within your client, a configuration issue within your developer account, or an underlying system bug.
Cheers,
Paris X Pinkney | WWDR | DTS Engineer
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
Sign in with Apple REST API
Sign in with Apple
Sign in with Apple JS