我正在尝试从watchkit应用程序启动父ios应用程序.我正在使用网址方案来启动应用程序.但它似乎
-(void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void (^)(NSDictionary *))reply
Run Code Online (Sandbox Code Playgroud)
被称为.看起来像手表应用程序确实在背景中启动应用程序.但是,父应用程序不处理watchkit请求.我在一个新项目中尝试了我的方法,它完美无缺.有什么事我需要注意吗?
我已经尝试调试>附加到进程> myapp并在handleWatchKitExtensionRequest方法中放置一个断点来确认它是否被调用并且没有被调用.
这是进度,我在监视应用程序中单击按钮时调用openParentApplication.
@IBAction func viewOniPhoneAction() {
let userInfo: [NSObject : AnyObject] = [
"userID" : user.userID
]
WKInterfaceController.openParentApplication(userInfo, reply: { (userInfo : [NSObject : AnyObject]!, error : NSError!) -> Void in
})
}
Run Code Online (Sandbox Code Playgroud)
这是我的应用程序删除
- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void(^)(NSDictionary *replyInfo))reply
{
NSDictionary *replyDict = @{@"response": @"done"};
reply(replyDict);
}
Run Code Online (Sandbox Code Playgroud)
我试着reply()在handleWatchKitExtensionRequest,但我得到的回复块这个错误手表应用
Error Error Domain=com.apple.watchkit.errors Code=2 "The UIApplicationDelegate in the iPhone App never called reply() in -[UIApplicationDelegate application:handleWatchKitExtensionRequest:reply:]" UserInfo=0x60800026e0c0 {NSLocalizedDescription=The UIApplicationDelegate in the iPhone App never called reply() in -[UIApplicationDelegate application:handleWatchKitExtensionRequest:reply:]}
Run Code Online (Sandbox Code Playgroud)
handleWatchKitRequest当您通过 URL 方案打开应用程序时不会调用。它仅在响应使用 WatchKit 扩展中发出的请求时被调用openParentApplication:reply:。这就是为什么你没有看到它被执行。
| 归档时间: |
|
| 查看次数: |
1301 次 |
| 最近记录: |