【问题标题】:How do I format webpageURL to get WatchKit to handoff user to a website in Safari?如何格式化网页 URL 以让 WatchKit 将用户切换到 Safari 中的网站?
【发布时间】:2015-04-12 22:31:00
【问题描述】:

我有一个在 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。有没有人有一些工作代码,最好在实际手表上测试,他们可以分享?

【问题讨论】:

  • 嗯,是的,对不起,为了完整起见,将其包括在内,但没有包括我的声明。现在添加它,虽然我已将其删除以进行测试,但我认为它不相关。
  • println 查询变量。你会明白为什么它不起作用。你想从数组中访问什么?
  • 轰隆隆。我是个白痴。事实上,虽然数组是字符串化的,但它并不局限于元素,它实际上是 [7,5,7,6,7] 括号、逗号等等。谢谢,方案。

标签: ios swift watchkit handoff


【解决方案1】:

感谢 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 2016-06-13
    • 1970-01-01
    相关资源
    最近更新 更多