dji*_*i33 5 ios8 handoff continuity nsuseractivity
我的设备:
我有两个上述设备之间的Handoff工作.Safari,邮件,消息,日历等所有切换都没有问题.
我甚至可以在Air上的网站和iPad上的原生应用之间切换.
我还不能做的是从我在iPad上的原生应用程序到我的Air上的Safari网站.
对于在我的原生应用程序中加载的第一个视图控制器,我有:
- (void)viewDidLoad
{
[super viewDidLoad];
NSUserActivity *webHandoff = [[NSUserActivity alloc] initWithActivityType:@"com.myApp.iphone.staging.webbrowsing"];
webHandoff.webpageURL = [NSURL URLWithString:@"http://staging.myApp.com"];
[webHandoff becomeCurrent];
}
Run Code Online (Sandbox Code Playgroud)
在我的应用程序的Info.plist文件中,我有:
<key>NSUserActivityTypes</key>
<array>
<string>com.myApp.iphone.staging.webbrowsing</string>
</array>
Run Code Online (Sandbox Code Playgroud)
我错过了什么或者我的配置错误吗?
谢谢你的帮助!
dji*_*i33 16
我对我的代码做了两处重大更改:
1)配置/销毁并在viewDidAppear/disappear中设置NSUserActivity对象,而不是viewDidLoad:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
NSUserActivity *webHandoff = [[NSUserActivity alloc] initWithActivityType:@"com.myApp.iphone.staging.web-browsing"];
webHandoff.webpageURL = self.handoffWebpageURL;
[self setUserActivity:webHandoff];
}
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
[self.userActivity invalidate];
}
Run Code Online (Sandbox Code Playgroud)
2)由于UIViewController是UIResponder的子类,UIResponders有一个userActivity属性,而不是调用[webHandoff becomeCurrent]我只是调用[self setUserActivity:webHandoff];
不知道为什么将它从viewDidLoad中移出有任何影响,并且不确定为什么我需要将它设置为viewController的NSUserActivity实例,但上面的更改为我提供了整个应用程序中可靠和可靠的切换体验.
| 归档时间: |
|
| 查看次数: |
1712 次 |
| 最近记录: |