我正在将Snap SDK集成到我的应用中,并使用Snapchat登录,因此需要打开一个野生动物园网页。 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!
}
}
}
确保已将以下内容导入到ViewController:
import UIKit
import Social
import SafariServices
这将直接打开Safari,而不是野生动物园弹出窗口。应该说,Apple希望用户不必在登录时离开应用程序,而弄乱这些机制可能会导致您的应用程序不被批准。
guard let url = URL(string: "https://stackoverflow.com") else { return }
UIApplication.shared.open(url)