在iOS 12或更早版本中如何集成苹果登录?

5

我的应用因为第三方登录服务而被拒绝了。所以我在iOS 13上实现了使用苹果登录的功能。问题是如何为iOS 12或更早版本提供向后兼容性。

4个回答

3
在我的情况下,(对于iOS12及以下版本),只有在避免导入CryptoKit用于sha256加密时才有效。您可以通过导入CommonCrypto并添加一个sha256函数来扩展String类,而不是使用CryptoKit提供的sha256函数。
您可以在我的答案中检查代码:https://dev59.com/g1MH5IYBdhLWcg3w2ULi#60987888 在iOS12及以下版本上导入CryptoKit会导致应用程序崩溃,并出现以下错误:
Library not loaded: /System/Library/Frameworks/CryptoKit.framework/CryptoKit"

当此应用程序启动时。

我也尝试使用#if canImport(CryptoKit)进行条件导入,并在其他链接器标志中设置-weak_framework CryptoKit,但在iOS12上仍然崩溃。到目前为止,避免使用CryptoKit是我找到的唯一解决方案。


0
在相应目标的构建设置中,在其他链接器标志中添加-weak_framework Cryptokit

0

请查看苹果官方页面此处。您需要离开应用程序并打开一个网页,然后返回应用程序,以便在请求的范围内出现错误(用户取消)或成功。


0

现在,苹果公司建议使用其Sign in with Apple JS与他们的REST API相结合。

您可以创建自己的按钮,使用苹果营销资源图片,然后调用他们的REST API来启动授权流程。对于初始登录窗口,您可以使用WKWebView并通过成功/失败重定向处理回调URL。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接