【发布时间】:2015-04-25 02:54:30
【问题描述】:
我们有一个应用程序需要在 Apple Watch 上显示内容,然后按下打开父应用程序并显示共享视图以进行共享。这仍然适用于 Xcode 6.3 和 Simulator 8.3,但在手表硬件上,此功能已损坏。其他一切正常,但父应用程序将无法打开,除非您从手机手动打开它。代码很简单
从 Apple Watch 请求父应用
WKInterfaceController.openParentApplication(["SiteName": "DS"],
reply: { (replyInfo, error) -> Void in
NSLog("Reply: \(replyInfo)")
})
然后,在父应用程序中使用它来发送成功。这在实际硬件中没有调用,而是使用模拟器!
func application(application: UIApplication,
handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]?,
reply: (([NSObject : AnyObject]!) -> Void)!) {
if let userInfo = userInfo, request = userInfo["SiteName"] as? String {
let siteName = userInfo["SiteName"] as? String
reply(["Message":"Received launch request from \(siteName)"])
UIApplication.sharedApplication().openURL(NSURL(string: "DSExtension://more")!)
}
}
编辑:请注意,当您从手表启动相机应用程序时,您可以使用实际硬件来实现此功能。您点击手表上的相机图标,手机上的相机将打开。为什么 Apple 会为我们在真正硬件上的应用程序锁定这一点?
【问题讨论】: