我知道我肯定在 swift 上做错了……新的 API 声明了一对方法……
class func openParentApplication(_ userInfo: [NSObject : AnyObject]!,
reply reply: (([NSObject : AnyObject]!,
NSError!) -> Void)!) -> Bool
可以在watch kit扩展中使用...和
func application(application: UIApplication!, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]!, reply: (([NSObject : AnyObject]!) -> Void)!) {
可以在父应用程序中使用它来处理请求....
我知道我做错了什么,可能是 swift,但回复对象应该是我可以将信息发送回扩展的地方,但我不知道如何将值设置到回复对象/字典中handlewatchkitextentionrequest 方法...我知道只有我不理解 swift 语法,但我尝试的一切都失败了...我如何输入值/定义这本字典?我已经尝试创建一个字典并将其分配给回复,不,尝试访问它的元素没有骰子......我知道这一定很简单,但我只是没有看到它。
最佳答案
Watchkit 扩展:
// Call the parent application from Apple Watch
// values to pass
let parentValues = [
"value1" : "Test 1",
"value2" : "Test 2"
]
WKInterfaceController.openParentApplication(parentValues, reply: { (replyValues, error) -> Void in
println(replyValues["retVal1"])
println(replyVaiues["retVal2"])
})
iOS 应用:
// in AppDelegate.swift
func application(application: UIApplication!, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]!, reply: (([NSObject : AnyObject]!) -> Void)!) {
// retrieved parameters from Apple Watch
println(userInfo["value1"])
println(userInfo["value2"])
// pass back values to Apple Watch
var retValues = Dictionary<String,String>()
retValues["retVal1"] = "return Test 1"
retValues["retVal2"] = "return Test 2"
reply(retValues)
}
关于swift - handleWatchKitExtentionRequest ...如何访问回复元素以将值返回给 watchkit 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27475879/