gpt4 book ai didi

ios8 - 从 native 应用程序到网站的切换不起作用

转载 作者:行者123 更新时间:2023-12-04 16:34:11 25 4
gpt4 key购买 nike

我的设备:

  • iPad Mini(最新),iOS 8 dp5。
  • Macbook Air,优胜美地 dp5。

  • 我在上述两个设备之间进行了 Handoff 工作。 Safari、邮件、信息、日历等都没有问题。

    我什至可以在我的 Air 网站和 iPad 上的 native 应用程序之间切换。

    我还不能做的是从 iPad 上的 native 应用程序转到 Air 上 Safari 中的网站。

    对于在我的 native 应用程序中加载的第一个 View Controller ,我有这个:
    - (void)viewDidLoad

    {
    [super viewDidLoad];

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

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

    [webHandoff becomeCurrent];
    }

    在我的应用程序的 Info.plist 文件中,我有这个:
    <key>NSUserActivityTypes</key>
    <array>
    <string>com.myApp.iphone.staging.webbrowsing</string>
    </array>

    我是否遗漏了什么或我有什么配置不正确?

    谢谢你的帮助!

    最佳答案

    我对代码进行了两个重大更改:

    1) 在 vi​​ewDidAppear/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];
    }

    2) 由于 UIViewController 是 UIResponder 的子类并且 UIResponders 有一个 userActivity 属性,而不是调用 [webHandoff becomeCurrent]我只是调用 [self setUserActivity:webHandoff];
    不知道为什么将它从 viewDidLoad 中移出有任何影响,也不知道为什么我需要将它设置为 NSUserActivity 的 viewController 实例,但上述更改为我在整个应用程序中提供了坚实可靠的切换体验。

    关于ios8 - 从 native 应用程序到网站的切换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25128878/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com