如何让链接在 iOS 中使用 Xcode/Swift 自动打开 safari 应用程序(不是本地)?
Posted
技术标签:
【中文标题】如何让链接在 iOS 中使用 Xcode/Swift 自动打开 safari 应用程序(不是本地)?【英文标题】:How to have links automatically open the safari app (not locally) in iOS with Xcode/Swift? 【发布时间】:2020-03-15 19:19:21 【问题描述】:我正在努力将 Snap SDK 集成到我的应用中,并且要使用 Snapchat 登录,需要打开一个 safari 网页。这是由 SDK 自动完成的,但这会在应用程序中以弹出窗口的形式在本地打开 safari。我不希望在登录过程结束时发生这种情况,页面会提示用户“继续”,如果在 safari 应用程序中完成,则会将用户带回应用程序,但如果在本地完成,则什么也不做(因为应用程序已经打开)。这很不方便,因为用户可能会感到困惑。我的代码只调用登录,但它与我的 Info.plist 的照片一起发布在下面。我怎样才能让它不在本地打开?
代码:
@IBAction func loginButtonTapped(_ sender: Any)
SCSDKLoginClient.login(from: self) success, error in
if let error = error
// An error occurred during the login process
print(error.localizedDescription)
else
// The login was a success! This user is now
// authenticated with Snapchat!
【问题讨论】:
【参考方案1】:确保您已将以下内容导入您的 ViewController:
import UIKit
import Social
import SafariServices
这将直接打开 Safari,而不是 Safari 弹出窗口。应该说,Apple 更希望用户在登录时不必离开应用程序,而弄乱这些机制可能会导致您的应用程序不被批准。
guard let url = URL(string: "https://***.com") else return
UIApplication.shared.open(url)
【讨论】:
以上是关于如何让链接在 iOS 中使用 Xcode/Swift 自动打开 safari 应用程序(不是本地)?的主要内容,如果未能解决你的问题,请参考以下文章