gpt4 book ai didi

ios - 使用 Handoff 和 Watchkit 将 iPhone 应用程序带到前台

转载 作者:IT王子 更新时间:2023-10-29 05:20:55 26 4
gpt4 key购买 nike

我有一个简单的项目,用户在 Apple Watch 上轻按一个按钮,然后在 iPhone 上播放一些音频,这很容易使用 openParentApplication 方法并在 AppDelegate 中使用 handleWatchKitExtensionRequest 代码。然而,虽然这在模拟器中有效,但如果 iPhone 应用程序尚未打开,它将无法在实际设备上使用。我正在尝试寻找是否可以使用其他方法,即使 iPhone 应用程序尚未打开也可以使用。

我读过关于 stackoverflow 的回答 here使用 Handoff 可以(部分)将手机应用程序带到前台,使用 WKInterfaceController updateUserActivity:userInfo:webpageURL:UIApplicationDelegate application:continueUserActivity:restorationHandler。但是,作为一名新开发人员,我正在努力找出如何在没有任何示例的情况下正确地执行此操作。任何人都可以提供一些示例代码来说明它是如何工作的,其中这两个代码一起用于在 iphone 应用程序上运行一些代码吗?

最佳答案

  1. 在您的 iPhone 应用程序的 plist 中注册您的事件类型名称。添加一个名为 NSUserActivityTypes 的行并使其成为一个数组。例如:

enter image description here

  1. 在您的 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;
    }
  2. 在您的 watchkit Controller 的 awakeWithContext 中,添加 updateUserActivity 方法。

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

在 watch 应用中打开选定的 View Controller 后,您现在应该会看到应用图标。

关于ios - 使用 Handoff 和 Watchkit 将 iPhone 应用程序带到前台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29527664/

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