我正在实现在 iOS 应用程序中自动登录用户的功能。这对于单个应用程序来说很容易,因为我们可以使用 NSUserDefaults 保留用户名,而使用系统钥匙串保留密码。
现在,我想跨多个应用程序执行此操作。根据我的理解,我们需要一个唯一的设备标识符,我们可以将其传递到服务器,然后使用它来激活同一设备上多个应用程序的自动登录。由于Apple现在禁止使用UDID,我正在考虑使用供应商标识符,这当然需要我相应地设置Bundle ID。这是最好的方法吗?或者有没有更好、更有效的标准方法?
另外,是否可以在不同设备之间自动登录?例如,如果我在一台 iOS 设备上登录,然后在另一台设备上打开应用程序,我应该自动登录。
要实现多个 iOS 应用程序之间的登录,您可以在它们中使用相同的 App ID 前缀。它会起作用,因为他们将共享钥匙串数据。在这里您可以找到更多详细信息: https://developer.apple.com/library/ios/technotes/tn2311/_index.html
这里是相关问题:钥匙串组访问在我现有的应用程序之间共享数据
以及不同设备之间的自动登录。我使用加密的 iCloud 键值存储来存储设备之间的登录名和密码。它确实有效,但不太好。问题是,第一次在新设备上启动应用程序时,需要一些时间才能将数据从 iCloud 同步到本地存储。这意味着您第一次尝试登录时可能需要等待一段不确定的时间。在可能的情况下,大约需要 20 秒。渴望在一个好的应用程序中登录:) 当然,这需要用户使用相同的 Apple ID 登录 iCloud。
ASAIK 没有正确的方法来实现从多个设备自动登录。Apple 建议仅要求用户在每台新设备上登录。
| 归档时间: |
|
| 查看次数: |
2058 次 |
| 最近记录: |