Sign in to websites in your SwiftUI appMany Swift apps require access to an online account. A person using your app must sign into a website to give your app access to the account. How do you let the person sign in from your app? Apple provides a class, You must perform the following tasks to use
Create a custom URL typeWhen someone finishes logging in to the website, they should go back to your app. You must add a URL type to your app to go back to the app. Select your app target from the project editor and click the Info button at the top of the project editor to add a URL type to the app. Give your URL type a name in the Identifier text field. Enter the URL type in the URL Schemes text field. The URL type should take the following form:
Create a class for your login sessionTo use
The The class must conform to the Conforming to The class needs a property of type Add a presentation anchorThe login session requires a presentation anchor, which is a window to show the login session so people can sign in. Add the following function to your login session class:
Create an ASWebAuthenticationSession instanceNow you can create an instance of
The callback URL is the custom URL type you created for the app, minus the
The following code creates the session:
Add a You should use ephemeral web browser sessions. If you set If you need to make any async calls in the completion handler, wrap them in a
Create a login viewAfter creating the class to handle the login session, you can create a SwiftUI view for people to sign in. The following code shows an example of a simple login view:
The view code uses the Additional readingThe following articles provide more information: |
Subscribe and get exclusive articles on Swift development, a free guide on moving from tutorials to making your first app, notices of sales on books, and anything I decide to add in the future.
I'm making my Cocoa book, Swift Dev Journal's Introduction to Cocoa, free. The book introduces AppKit by making a note taking app from scratch. If you always wanted to make Mac apps with AppKit but didn't know where to begin, this book can help you. The book was originally published in 2019. AppKit has not changed much recently so most of the material still applies. You can download a copy of the book at the book's website. Cocoa Book Website Mark Szymczyk Swift Dev Journal
If you find your app becomes unresponsive at times, it can be frustrating to find the cause. Instruments includes a Hangs instrument that reports hangs to help you find and fix hangs. This article shows you how to use the Hangs and Time Profiler instruments to find hangs and find the code causing the hangs. Profiling Your App In Xcode press Cmd-I to build and profile your app with Instruments. When Instruments launches, it will ask you to choose a template for profiling. Select the Time...
Saving App Data in Property List Files Your app needs to save data. There's too much data to use User Defaults. Using SwiftData or Core Data would be overkill. One solution is to save the data in property list files. This article shows you how to save your app's data in property list files. Use the PropertyListEncoder Class if you can If the data you want to save conforms to the Codable protocol, use the PropertyListEncoder class to save the data. Encoding data with PropertyListEncoder...