使用 swift 通过 Apple 登录17 Mar 2025 | 5 分钟阅读 Apple 允许用户使用其 Apple ID 登录应用程序。用户可以选择使用 Apple 登录选项来立即开始使用应用程序,而无需填写表格和创建新密码。Apple 不会跟踪用户在应用程序中的活动。Apple 不会从用户那里收集大量信息;仅限于用户的姓名和电子邮件地址。 但是,用户始终可以选择不共享姓名和电子邮件地址,从而提高用户的隐私。每个使用 Apple 登录的帐户都受到双重身份验证的保护。使用 Apple 登录适用于 iOS、macOS、tvOS 和 watchOS。它也可以部署到网站和在各种其他平台上运行的应用程序版本。在本教程中,我们将讨论如何在 Swift 开发的 iOS 应用程序中启用 Apple 登录。 在 iOS 应用中启用 Apple 登录要在 iOS 应用程序中启用 Apple 登录,我们需要按照以下步骤操作。 1. 在 Apple Developer 帐户中配置应用程序 ID 首先,我们需要在 Apple Developer 帐户中的应用程序 ID 中添加 Apple 登录功能。要配置应用程序 ID,请登录到 Apple 开发者帐户,然后转到“证书、标识符和配置文件”部分。选择 XCode 项目中使用的标识符中的应用程序 ID,从功能列表中选中“使用 Apple 登录”功能,然后单击“保存”。请参考下图。 ![]() 修改或添加功能会使我们关联的配置文件无效,我们需要重新生成它们。 ![]() 2. 配置 XCode 项目 我们已经完成了在 Apple Developer 帐户中设置应用程序 ID 以启用 Apple 登录的操作。但是,我们还需要设置 XCode 项目或在现有的 XCode 项目中添加 Apple 登录功能。在本教程中,我们将创建一个演示项目并启用 Apple 登录。 为此,请创建一个新的单视图 iOS 应用程序,如下图所示。 ![]() 创建项目完成后,我们需要导航到 XCode 中的“Signing and Capabilities”,如下图所示。 ![]() 现在,导入与我们从 Apple Developer 帐户下载的捆绑标识符关联的配置文件。设置好配置文件后,我们需要点击 + 图标,然后从选项列表中选择“使用 Apple 登录”。但是,如果我们尚未在 Apple 开发者帐户中将该功能添加到应用程序 ID(捆绑标识符),则 XCode 将会给出错误。由于这不是我们的情况,因此我们将把“使用 Apple 登录”功能添加到我们的项目中。 这还会在我们的项目授权文件中创建一个名为 SignInWithAppleDemo.entitlements 的条目,如下图所示。 ![]() SignInWithAppleDemo.entitlements 文件的源代码如下所示。 3. 实现登录功能 完成开发者帐户和 XCode 中的配置后,我们现在可以实现实际代码以添加使用 Apple 登录的功能。为此,我们需要导入 Authentication Services 框架。首先,我们需要在我们的 View Controller 中创建一个 Apple 登录按钮。 要设置 Apple 登录按钮,请在 View Controller 中的 viewDidLoad() 上方添加以下代码。 在 viewDidLoad() 中,我们将设置 appleLoginButton 的 frame 以使其看起来位于屏幕的中心。 将以下代码添加到 View Controller 的 viewDidLoad() 中。 现在,我们需要在 View Controller 中添加目标方法 signInWithApple() 方法,以便当我们点击 Apple 登录按钮时,将调用该目标方法。 将以下方法添加到 View Controller 中。 在上述方法中,我们创建了由 appleIdProvider 对象的 createRequest() 方法创建的请求对象。我们可以将请求的范围设置为请求对象,可以是 fullName 或 email,也可以两者兼有。我们还需要我们的 view controller 遵循 ASAuthorizationControllerDelegate 协议并实现其委托方法。 当登录尝试成功时,将调用以下委托方法。 我们还可以在应用程序启动时检查用户的凭据。为此,我们需要在 AppDelegate 的 didFinishLaunchingWithOptions 方法中调用 getCredentialState() 方法。在 didFinishLaunchingWithOptions 方法中添加以下代码。 现在,我们已经完成了代码,让我们在模拟器中运行该应用程序,并检查是否启用了 Apple 登录。 以下屏幕将在模拟器中显示。 ![]() 当我们点击“使用 Apple 登录”按钮时,我们将被导航到下一个屏幕,如下所示。 ![]() 现在,我们可以单击“继续”以完成应用程序中的登录过程。 查看下面给出的完整的 View Controller 代码(适用于整个过程)。 |
我们请求您订阅我们的新闻通讯以获取最新更新。