Ios8 从本机应用程序到网站的切换不起作用

Ios8 从本机应用程序到网站的切换不起作用,ios8,handoff,continuity,nsuseractivity,Ios8,Handoff,Continuity,Nsuseractivity,我的设备: iPad Mini(最新版本),iOS 8 dp5 Macbook Air,约塞米蒂dp5 我在上述两台设备之间进行了切换。Safari、邮件、消息、日历等。所有切换都没有问题 我甚至可以在空中传送我的网站和iPad上的本机应用程序之间进行切换 我现在还不能做的是从iPad上的本机应用程序转到Safari上的网站 对于在我的本机应用程序中加载的第一个视图控制器,我有: - (void)viewDidLoad { [super viewDidLoad]; NSU

我的设备:

  • iPad Mini(最新版本),iOS 8 dp5
  • Macbook Air,约塞米蒂dp5
我在上述两台设备之间进行了切换。Safari、邮件、消息、日历等。所有切换都没有问题

我甚至可以在空中传送我的网站和iPad上的本机应用程序之间进行切换

我现在还不能做的是从iPad上的本机应用程序转到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];
}
<key>NSUserActivityTypes</key>
<array>
      <string>com.myApp.iphone.staging.webbrowsing</string>
</array>
在我的应用程序的Info.plist文件中,我有以下内容:

- (void)viewDidLoad

{
    [super viewDidLoad];

    NSUserActivity *webHandoff = [[NSUserActivity alloc] initWithActivityType:@"com.myApp.iphone.staging.webbrowsing"];

    webHandoff.webpageURL = [NSURL URLWithString:@"http://staging.myApp.com"];

    [webHandoff becomeCurrent];
}
<key>NSUserActivityTypes</key>
<array>
      <string>com.myApp.iphone.staging.webbrowsing</string>
</array>
nsserActivityTypes
com.myApp.iphone.staging.webbrowsing
我是否遗漏了某些内容或配置不正确


谢谢你的帮助

我对代码做了两项重大更改:

1) 与viewDidLoad相反,配置/销毁并设置ViewDidDisplay/English中的NSUserActivity对象:

- (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];
}
2) 由于UIViewController是UIResponder的子类,并且UIResponder具有userActivity属性,因此我没有调用
[webHandoff becomeCurrent]
而是调用
[self-setUserActivity:webHandoff]


不确定为什么将其移出viewDidLoad会产生任何影响,也不确定为什么我需要将其设置为viewController的NSUserActivity实例,但上述更改在我的整个应用程序中为我提供了可靠可靠的切换体验。

伟大的解决方案-在iOS8.1中为我修复了它!啊哈!这也修复了使用iOS 9进行搜索的问题。显然
viewDidLoad
不是
nsserActivity