【问题标题】:How to have links automatically open the safari app (not locally) in iOS with Xcode/Swift?如何让链接在 iOS 中使用 Xcode/Swift 自动打开 safari 应用程序(不是本地)?
【发布时间】: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!
        }
    }
}

【问题讨论】:

    标签: ios swift xcode safari info.plist


    【解决方案1】:

    确保您已将以下内容导入您的 ViewController:

    import UIKit
    import Social
    import SafariServices
    

    这将直接打开 Safari,而不是 Safari 弹出窗口。应该说,Apple 更希望用户在登录时不必离开应用程序,而弄乱这些机制可能会导致您的应用程序不被批准。

    guard let url = URL(string: "https://stackoverflow.com") else { return }
    UIApplication.shared.open(url)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-08
      • 2022-09-23
      • 1970-01-01
      • 2012-08-27
      • 2020-04-12
      • 2015-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多