Hello, I am currently implementing a biometric authentication registration flow using WebAuthn. I am using ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest, and I would like to know if there is a way to hide the "Save to another device" option that appears during the registration process.
Specifically, I want to guide users to save the passkey only locally on their device, without prompting them to save it to iCloud Keychain or another device.
If there is a way to hide this option or if there is a recommended approach to achieve this, I would greatly appreciate your guidance.
Also, if this is not possible due to iOS version or API limitations, I would be grateful if you could share any best practices for limiting user options in this scenario.
If anyone has experienced a similar issue, your advice would be very helpful. Thank you in advance.
Developer Forums
RSS for tagAsk questions about how to use the Apple Developer Forums. Discuss forums bugs and enhancements requests that you’ve filed via Feedback Assistant.
Post
Replies
Boosts
Views
Activity
Hello, I am currently working on implementing credential registration for biometric authentication using WebAuthn in an iOS app. I am using ASAuthorizationPlatformPublicKeyCredentialProvider to create a credential registration request based on the data retrieved from the WebAuthn options endpoint.
At the moment, I am only using user.id, user.name, and challenge from the options response, and I am unsure how to utilize the other fields effectively. I would greatly appreciate advice on how to use the following fields:
**Fields I would like to use:
**
rp (Relying Party)
I am retrieving id and name, but I am not sure how best to pass and utilize these fields. Is there an explicit way to use them?
authenticatorSelection
How can I set requireResidentKey and userVerification in ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest? Also, what are the specific benefits of using these fields?
timeout
Is there a way to reflect the timeout value in the credential registration request, and what would be the best way to handle this information in iOS?
attestation
The attestation field can contain values such as none or direct. How should I reflect this in the credential registration request for iOS? I would appreciate a sample implementation or guidance on the benefits of setting this field.
extensions
If I want to customize the authentication flow using the extensions field, how can I appropriately reflect this in iOS? For instance, how can I utilize extensions like credProps?
pubKeyCredParams
Regarding pubKeyCredParams, which is a list of supported public key algorithms, I am unsure how to use it to select an appropriate algorithm in iOS. How should I incorporate this information into the request?
excludeCredentials
I understand that setting excludeCredentials can prevent duplicate registration, but I am not sure how to use past credential information to set it effectively. Any advice on this would be appreciated.
**Current Code
**
Currently, I have implemented the following code, but I am struggling to understand how to add and configure the fields mentioned above.
let publicKeyCredentialProvider = ASAuthorizationPlatformPublicKeyCredentialProvider(
relyingPartyIdentifier: "www.example.com"
)
let registrationRequest = publicKeyCredentialProvider.createCredentialRegistrationRequest(
challenge: challenge,
name: userId,
userID: userIdData
)
let authController = ASAuthorizationController(authorizationRequests: [registrationRequest])
authController.delegate = self
authController.presentationContextProvider = self
authController.performRequests()
In addition to the above code, I would be grateful if anyone could advise on how to configure fields like rp, authenticatorSelection, attestation, extensions, and pubKeyCredParams as well. Furthermore, I would appreciate any insights into the benefits of setting each of these fields in iOS, and any security considerations to be aware of.
If anyone has experience with this, your guidance would be extremely helpful. Thank you very much in advance!
Hey folks, I'm having an issue where iCloud sync is only working in the Development environment, not on Prod. I have deployed the schema to Prod through the CloudKit console, although I did it after the app went live on the AppStore. Even though the two schema are identical, iCloud sync just doesn't work on Prod.
Things I tried on the code side:
Initially I did the most basic SwiftData+CloudKit setup:
var modelContainer: ModelContainer {
let schema = Schema([Book.self, Goal.self])
let config = ModelConfiguration(isStoredInMemoryOnly: false, cloudKitDatabase: doesUserSyncToiCloud ? .automatic : .none)
var container: ModelContainer
do {
container = try ModelContainer(for: schema, configurations: config)
} catch {
fatalError()
}
return container
}
var body: some Scene {
WindowGroup {
AnimatedSplashScreen {
MainTabView()
}
}
.modelContainer(modelContainer)
}
This is enough to make iCloud sync work at the Development level. Then when I noticed the issues on Prod I did some digging and found this on the Docs (https://developer.apple.com/documentation/swiftdata/syncing-model-data-across-a-persons-devices):
let config = ModelConfiguration()
do {
#if DEBUG
// Use an autorelease pool to make sure Swift deallocates the persistent
// container before setting up the SwiftData stack.
try autoreleasepool {
let desc = NSPersistentStoreDescription(url: config.url)
let opts = NSPersistentCloudKitContainerOptions(containerIdentifier: "iCloud.com.example.Trips")
desc.cloudKitContainerOptions = opts
// Load the store synchronously so it completes before initializing the
// CloudKit schema.
desc.shouldAddStoreAsynchronously = false
if let mom = NSManagedObjectModel.makeManagedObjectModel(for: [Trip.self, Accommodation.self]) {
let container = NSPersistentCloudKitContainer(name: "Trips", managedObjectModel: mom)
container.persistentStoreDescriptions = [desc]
container.loadPersistentStores {_, err in
if let err {
fatalError(err.localizedDescription)
}
}
// Initialize the CloudKit schema after the store finishes loading.
try container.initializeCloudKitSchema()
// Remove and unload the store from the persistent container.
if let store = container.persistentStoreCoordinator.persistentStores.first {
try container.persistentStoreCoordinator.remove(store)
}
}
}
#endif
modelContainer = try ModelContainer(for: Trip.self, Accommodation.self,
configurations: config)
} catch {
fatalError(error.localizedDescription)
}
I've no idea why Apple would include this CoreData setup in a SwiftData documentation, but I went ahead and adapted it to my code as well. I see now that some new "assets" were added to my Development schema, but I'm afraid to deploy these changes to Prod, since I'm not even confident that this CoreData setup is necessary in a SwiftData app.
Does anyone have any thoughts on this? Have you run into similar issues? Any help would be much appreciated; thanks!
I’m having an issue with Firebase Cloud Messaging (FCM) where direct messages sent via the FCM token work perfectly, but notifications from Firebase Messaging Campaigns don’t reach my iOS app. Here’s what I’ve tried and confirmed so far:
Setup & What’s Working:
Direct Messages via FCM Token: These are received by the app without any issues.
Notification Permissions: All necessary permissions are granted on the device.
APNs Authentication Key: This is configured in Firebase, and the Firebase Console shows the campaign status as “Completed,” but messages don’t appear on the target device.
My Steps:
Uploaded the APNs Authentication Key in Firebase:
Opened Apple Developer Console > Certificates, Identifiers & Profiles > Keys > Registered a New Key > Checked APNs service.
Downloaded the APNs Key and uploaded it to Firebase under Project Settings > Cloud Messaging.
Firebase Console Campaign Setup:
Notification title and body are configured.
Target set to “All Users” (for testing purposes).
Message settings: sound enabled, Apple badge enabled, badge count set to 1, expiration set to 4 weeks.
Code Setup (relevant parts):
Using Firebase for authentication and data storage with Firestore.
Configured AppDelegate for Firebase, FCM, and APNs token registration.
Implemented UNUserNotificationCenterDelegate methods to show notifications when the app is in the foreground.
Observed Behavior:
The Firebase Console indicates the campaign is “Completed,” but the messages are not received on the device.
There are no errors in the Firebase Console or my Xcode logs when sending the campaign.
My AppDelegate is correctly handling the APNs token and FCM token registration.
Here’s My Code Setup in AppDelegate:
class AppDelegate: NSObject, UIApplicationDelegate, MessagingDelegate, UNUserNotificationCenterDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
Messaging.messaging().delegate = self
UNUserNotificationCenter.current().delegate = self
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
if granted { print("Notification permission granted") }
}
application.registerForRemoteNotifications()
return true
}
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Messaging.messaging().apnsToken = deviceToken
}
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {
print("FCM Token received: \\(String(describing: fcmToken))")
}
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
completionHandler([.alert, .badge, .sound])
}
}
Hi everyone,
usually i used to work on my xamarin application from a windows OS using Visual Studio application.
When testing IOS apps i used to connect to macbook that my boss has to my windows pc.
Nowdays i have a big problem while i try to publish an app. I select Release configuration, rebuild the project and in this case it asks me to login in with my Apple developer account but i always get an errore:
'There is an error while trying to access the auth service is not available'
Does anyone know a different way to publish an IOS app? I really do not know what to do.
This is my first time trying to publish an IOS app..
Hi, I am a developer developing a software but the vendor product that I’m using is always using the iPhone identifier for the iPhone model that the user is using.
For example, it will return iPhone16,2 when the user is using iPhone15ProMax. Is there an official documentation for iPhoneModel and iPhoneIdentifier mapping? Thanks
Urgent Assistance Needed: Issue Logging into Apple Developer Enterprise Account via Visual Studio 2022 - "Authentication service is unavailable."
Dear Apple Support Team,
I am encountering an issue while attempting to log into my Apple Developer Enterprise account through Visual Studio 2022. The process consistently fails with the error message: "Authentication service is unavailable."
Here are the steps I followed:
Open Visual Studio 2022.
Navigate to Tools -> Options -> Apple Developer Account -> Add Account -> Select Enterprise Account.
Attempt to log in using my Apple Developer ID and password.
Despite multiple attempts, I continue to face the error: "Authentication service is unavailable."
This issue occurs on both Windows and Mac environments, with the same results. However, I am able to log into my Apple Developer account via the browser, and the Apple service status portal shows no outages.
As this issue is impacting our ability to deliver to our customers, I kindly request your prompt assistance in resolving this matter.
Thank you in advance for your help. I look forward to your quick response.
Best regards,
KanTime Dev Team
Windows Machine
Mac Machine
Hi,
I noticed that the "View the thread" button recently stopped working in emails of replies from my watched threads.
The link's path seems fine but the subdomain is odd / inexistent, since Safari tells me it cannot find the server.
Did anybody else notice this issue?
Posted in the wrong subtopic, and I can't figure out how to delete this post.
Is it only me ?
I received recently a notification that an answer was "recommended by Apple", with a link to the post.
But when going to the post, this recommendation (with small Apple icon) do not show.
And the forum scores are not updated.
This is not the first time I get problems with forum notifications.
I filed a bug report: FB14172207
As the title suggests, Please someone at Apple add this feature on priority. This website is too bright for the eyes to read causing straining issues. Need complete dark mode asap. Thank you!
I'm in trouble in posting a question on SwiftUI forum.
I had revised text and tried several times to post it, but it didn't work.
There is nothing in my query that is remotely ‘sensitive’.
I don’t know what to do next.
Thanks in advance for any advice.
Regards,
I have recently been added as an apple developer in an organization by our main developer.
On my mac, within keychain access, I have two certificates, one under my name and one under the company name. Both are not trusted. I am not sure what steps I need to perform to get those certificates to be trusted.
I suspect that maybe my account does not have the privileges required regarding generating trusted certificates despite me being a developer in the organization.
I get the error mentioned in the title when trying to deploy my app on a real device for testing which I am convinced is tied to the fact that my certificates on my target machine are not trusted.
All the solutions that I have read online have failed me and its quite impossible for me to proceed forward at this point without any assistance.
Please delete this one!
I've recently seen answers to posts that are apparently automatically generated but signed as App Store Connect Engineer. In several cases the answer is misinterpreting the OP.
Here is an example: https://developer.apple.com/forums/thread/758391
The OP was really a developer question. Not related to a consumer feature.
Is it really an automatic answer (which would be a bad trend for the forums IMHO)?
I see this message for the first time:
It is inserted in the OP (https://developer.apple.com/forums/thread/757852) but the link leads to nowhere (just the general page of the forum).
In … what ?!?
So I wonder what is the meaning of the message, its intent and use ? Or is it just a forum bug ?
PS: surprisingly, this post appears in Forums general page (https://developer.apple.com/forums/latest), but not in forums feedback (https://developer.apple.com/forums/tags/forums-feedback)
PS2: it appears, but after all the pinned messages which are older. Really confusing…
I posted a bug report on this: Jun 23, 2024 at 9:29 PM – FB14024970
Hear me out, developers at Apple!
You've done an amazing job with privacy so far. The introduction of ContactAccess and the Contact Access Button this year is truly an amazing work of art. Well done.
However, all the way back to the first iPhone I got in 2007, I wished Apple would make API's available to access the users installed apps (in a privacy way). This would (further) open up apps in the category of App Managers and App Launchers.
Back in the early days the trick was to use deep link, but that was also awkward, since you needed to know the deeplink upfront and the apps needed to support it. Not ideal. It also had a side effect that Apple noticed, that evil party's used it to scan your device to know which apps you had installed and create a profile from that. Apple fixed that by using LSApplicationQueriesSchemes. Now you have to tell the App upfront which apps you will be calling (up to 50), or use Universal Link to be freed from this limitation again. Again not ideal.
Why not turn it around and let the user decide? User central.
Imagine an App Launcher app. There is a button in the launcher app where you as a user can click on to add an app. It calls an api available from Apple to launch a privacy shielded sheet with the apps the user got installed on its device. These are not exposed to the launcher app. When the user clicks on the installed app (or apps) it likes to add, the launcher app will get identifiers to launch the app. That's it.
This would be limited access, perhaps the api could also expose full access, so permission could be granted once and the app will get all identifiers available. The choice will be up to the user.
One step further, but this would be more nice-to-have, is the ability to access meta data of the app, such as icon, title, last launched, app size, etc. This way App Launchers can make decisions such as putting the most recent launched app in front or App Managers can use this to decide which apps you are not using and can advise to remove them to clean up space.
Love to hear everyone's opinion. So let it be the start of the discussion.
I'm trying to ask a (presumably) straight-forward question regarding some of the new features that were announced at WWDC. However, the website won't let me post, claiming my question "contains sensitive language", and asks me to revise it.
Is it ok to ask questions about new features announced at WWDC or is this off limits? Is anybody else experiencing something like this? I'm confused about what could be wrong with my message.
Overnight we rolled out a number of minor fixes to the DevForums platform. Thanks to those of you who spotted these bugs and reported them.
Here are the highlights:
The reply editor now expands to full width when you uncheck the Live Preview checkbox (r. 128882713).
Fixed an issue that resulted in the onboarding tour showing up repeatedly (r. 128882936).
Copying text no longer frames it as a quote (r. 128883038). To insert a quote into your reply, click the quote button next to the selection.
We’ve improved the handling of very long lines in a code block 128883131).
Added support for applefeedback: links (r. 129165197).
Fixed a few bugs including several rendering bugs with hovering, comments, text selection, multi-paragraph comments, and the editor’s attachment menu (r. 128875241, 128953001, 129046050, 129043503, 128987536).
And more! (r. 129094445, 128931034)
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
The Apple Developer Forums have been redesigned for WWDC24 to help developers connect with Apple experts, engineers, and each other to find answers and get advice.
Curious on what’s changed? Here’s some insight into what's different:
Hello Homepage, Hello Topics
Content across forums has been reorganized into topics and subtopics, supported by tags. Doing this helps you hone in on specific areas of interest while also connecting the resources, tools, and content that are most closely related. We hope the new format simplifies your forums experience, and allows you to easily locate the information and guidance you need.
Not into topics? Not a worry: we’ve kept the all-forums-posts view open just for you - on the “Latest” tab. The RSS subscribe feature remains as well - allowing users to pipe a particular forums topic, subtopic, or tag area directly into feeds.
Fresh look, fresh features
Forums have also been redesigned to simplify how information is presented, lighten the cognitive load, and improve visual cues to allow you to scan and sort posts quickly with helpful information. UI changes include:
Structure and layout improvements that condense the way information is presented on screen to improve readability
Improved visual cueing for posts with clearer Apple Recommended Responses and/or Accepted Answer icons and placement
Threads now have a highly visible “Boosts” count which allows forums participants to enhance visibility of the post.
New thread navigation floats along the side of a post while to keeping the “watch” and “reply” buttons always accessible and right on screen
Backed by Apple Experts
One of the biggest changes to the Apple Developer Forums is one you can’t see – yet. Behind the scenes is a robust set of tools supporting Apple teams who are here every day to answer your questions in more efficient ways.
Apple Developer Relations and Apple engineering are joining forces to field your questions and work to solve your technical issues. You’ll have access to an expanded knowledge base and enjoy quick response times — so you can get back to creating and enhancing your app or game.
Wish there was a feature or improvement on Developer Forums?
We welcome feedback and feature requests.
Welcome to the all new Developer Forums; we’re all in, and hope you’ll be too ✨