如何让链接在 iOS 和 Xcode/Swift 中自动打开 Safari 应用程序(非本地)?
How to have links automatically open the safari app (not locally) in iOS with Xcode/Swift?
我正在努力将 Snap SDK 集成到我的应用程序中并使用 Snapchat 登录,需要打开一个 safari 网页。这是由 SDK 自动完成的,但这会在应用程序中以弹出窗口的形式在本地打开 safari。我不希望发生这种情况,因为在登录过程结束时,页面会提示用户 "continue" 如果在 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!
}
}
}
确保您已将以下内容导入 ViewController:
import UIKit
import Social
import SafariServices
这将直接打开 Safari,而不是 Safari 弹出窗口。应该说,Apple 更希望用户在登录时不必离开应用程序,搞乱这些机制可能会导致您的应用程序无法通过。
guard let url = URL(string: "https://whosebug.com") else { return }
UIApplication.shared.open(url)
我正在努力将 Snap SDK 集成到我的应用程序中并使用 Snapchat 登录,需要打开一个 safari 网页。这是由 SDK 自动完成的,但这会在应用程序中以弹出窗口的形式在本地打开 safari。我不希望发生这种情况,因为在登录过程结束时,页面会提示用户 "continue" 如果在 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!
}
}
}
确保您已将以下内容导入 ViewController:
import UIKit
import Social
import SafariServices
这将直接打开 Safari,而不是 Safari 弹出窗口。应该说,Apple 更希望用户在登录时不必离开应用程序,搞乱这些机制可能会导致您的应用程序无法通过。
guard let url = URL(string: "https://whosebug.com") else { return }
UIApplication.shared.open(url)