Zho*_*ouW 14 iphone ios swift handoff nsuseractivity
我有一个简单的项目,用户点击Apple Watch上的按钮和iPhone上的一些音频播放,这很容易使用openParentApplication方法并在AppDelegate中使用handleWatchKitExtensionRequest代码.但是,虽然这在模拟器中有效,但如果iPhone应用程序尚未打开,它将无法在实际设备上运行.我试图找到是否可以使用其他方法,即使iPhone应用程序尚未打开也能正常工作.
我在这里读了一个stackoverflow的答案,可以使用Hand和(部分)将手机应用程序带到前台,使用WKInterfaceController updateUserActivity:userInfo:webpageURL:和UIApplicationDelegate application:continueUserActivity:restorationHandler.但是,作为一名新开发人员,我正在努力研究如何在没有任何示例的情况下正确地做到这一点.任何人都可以提供一些示例代码,说明这将如何工作,哪些都一起用于在iPhone应用程序上运行一些代码?
Soh*_*ail 26

在AppDelegate中包含continueUserActivity:方法.例如:
-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *))restorationHandler
{
// Extract the payload
NSString *type = [userActivity activityType];
NSDictionary *userInfo = [userActivity userInfo];
// Assume the app delegate has a text field to display the activity information
NSLog(@"User activity is of type %@, and user info %@", type, userInfo);
restorationHandler(@[self.window.rootViewController]);
return YES;
}
Run Code Online (Sandbox Code Playgroud)在watchkit控制器的awakeWithContext中,添加updateUserActivity方法.
[self updateUserActivity:@"com.co.YourApp.watchkitextension.activity" userInfo:@{@"yo": @"dawg"} webpageURL:nil];
Run Code Online (Sandbox Code Playgroud)现在,您应该在手表应用程序中打开所选的viewcontroller后看到应用程序图标.
| 归档时间: |
|
| 查看次数: |
3452 次 |
| 最近记录: |