微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 使用Handoff与Watchkit将iPhone应用程序带到前台

我有一个简单的项目,用户点击苹果手表上的按钮,并在iPhone上播放一些音频,这很简单,可以使用openParentApplication方法,并在AppDelegate中具有handleWatchKitExtensionRequest代码.然而,虽然这在模拟器中有效,但如果iPhone应用程序尚未打开,则不会在实际设备上运行.我试图找到是否可以使用其他方法,即使iPhone应用程序尚未打开也可以使用.

我已经阅读了stackoverflow answer here,可以使用Handoff(部分)将手机应用程序带到前台,使用WKInterfaceController updateUserActivity:userInfo:webpageURL:和UIApplicationDelegate应用程序:continueUserActivity:restoreHandler.然而,作为一个新的开发人员,我正在努力解决如何正确地做到这一点,没有任何例子.任何人都可以提供一些如何工作的示例代码,这两个代码在一起用于在iphone应用程序上运行一些代码

解决方法

>在您的iphone应用程序的plist中注册您的活动类型名称.添加一行名为NSUserActivityTypes并使其成为一个数组.例如:

>在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;
        }

>在您的watchkit控制器的awakeWithContext中,添加updateUserActivity方法.

[self updateUserActivity:@"com.co.YourApp.watchkitextension.activity" userInfo:@{@"yo": @"dawg"} webpageURL:nil];

在您的手表应用程序中打开所选的viewcontroller后,现在应该可以看到应用程序图标.

原文地址:https://www.jb51.cc/iOS/337030.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐