【问题标题】:How to use openURL in iOS 10?如何在 iOS 10 中使用 openURL?
【发布时间】:2016-09-16 15:02:44
【问题描述】:

我正在开发 iOS 10 应用程序,由于不推荐使用 openURL,因此我需要一些帮助来使用新方法。我面临的问题是不知道在 options 参数中传递什么。

这是我的代码:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"] options:nil completionHandler:nil];

编译器给出警告:“Null 传递给需要非空参数的被调用者。”

对我应该传入什么感到困惑...?

【问题讨论】:

标签: ios10


【解决方案1】:

你应该这样写:

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"] options:@{} completionHandler:nil];

【讨论】:

    【解决方案2】:

    对于 Swift 3,你应该使用这个:

     UIApplication.shared().open(url: URL, options: [String: AnyObject], completionHandler: ((Bool) -> Void)?)
    

    例如我在我的项目中使用的:

    let url = URL(string: "http://kaznews.kz")
    UIApplication.shared.open(url!, options: [:], completionHandler: nil)
    

    这是没有选项和处理程序的最简单方法。

    【讨论】:

      【解决方案3】:

      适用于 iOS 10.2 和 swift 3.1

      private var urlString:String = "https://google.com"
      
      @IBAction func openInSafari(sender: AnyObject) {
          let url = NSURL(string: self.urlString)!
          UIApplication.shared.open(url as URL, options: [ : ]) { (success) in
              if success{
                  print("Its working fine")
              }else{
                  print("You ran into problem")
              }            
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2017-01-25
        • 2018-07-01
        • 2017-02-23
        • 2019-03-02
        • 2017-07-23
        • 1970-01-01
        • 2016-12-05
        • 2014-08-06
        相关资源
        最近更新 更多