如何格式化 webpageURL 以使 WatchKit 将用户切换到 Safari 中的网站?

How do I format webpageURL to get WatchKit to handoff user to a website in Safari?

我有一个应用程序会在 WatchKit 应用程序中生成少量信息。然后,我想将用户移交给另一台设备上的 Safari,以在网站上获取更多信息,并在 url 查询字符串中提供特定信息。我写了这个:

var QueryVar = SomeArray.description
var website = NSURL(string: "http://www.example.com/index.html?query="+QueryVar)

updateUserActivity("com.example.myapp.anactivity", userInfo: nil, webpageURL: website)

当我println(website)出现nil时,控制台警告说userInfowebpageURL都不能是nil。我尝试了多种不同的方法来将 URL 格式化为字符串,但似乎没有任何效果。

Swift 文档很好但缺少示例。 那里的大多数示例都不会理会 webpageURL 元素。

更糟糕的是,即使我让它不生成错误消息,我也不确定它是否有效,因为 IOS 模拟器不支持 webpageURL。有没有人有一些工作代码,最好在实际手表上测试过,他们可以分享吗?

感谢 Schemetrical 指出我的错误想法

  QueryVar.description

只会产生字符串化数组的元素。由于该变量包含方括号和逗号,因此它是 NSURL 类型的非法内容。我清理了代码并得到了一个可行的解决方案:

 var URLwithQuery = "http://www.example.com?query="+QueryVar

   var urlPath: String = URLwithQuery
   var website: NSURL = NSURL(string: urlPath)!

  updateUserActivity("com.example.myapp.anactivity", userInfo: nil, webpageURL: website)