gpt4 book ai didi

ios Handoff 在 launchOptions 中缺少 NSUserActivity?

转载 作者:可可西里 更新时间:2023-11-01 03:51:09 26 4
gpt4 key购买 nike

我已经在我们的应用程序中实现了 Handoff,当应用程序在前台或后台运行时,它可以很好地用于 Web 到应用程序的切换,反之亦然。

但是,如果应用未运行,那么如果用户从 Web 到应用切换启动应用,在 launchOptions 字典中,我得到 UIApplicationLaunchOptionsUserActivityDictionaryKey,但缺少对事件的引用.

看截图:

enter image description here

如您所见,我只获得了 NSUserActivity 的 ID。这是 iOS 9 中的错误吗?

有没有办法通过使用 id 来获取对事件的引用?

编辑,这是代码,虽然我认为这不相关

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if (launchOptions && [[launchOptions allKeys] containsObject:UIApplicationLaunchOptionsUserActivityDictionaryKey]) {
__block NSUserActivity *activity;

NSDictionary *userActivityDictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsUserActivityDictionaryKey];
if (userActivityDictionary) {
[userActivityDictionary enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
if ([obj isKindOfClass:[NSUserActivity class]]) {
activity = obj;
}
}];
}

//app was started by URL (deep linking), check parameters
if (activity) {
NSURL *url = activity.webpageURL;
//resume from URL
}
}

return YES;
}

最佳答案

好的,

我已经向 Apple 提交了关于此的 TSI,看起来这不是错误,而是设计使然。

您可以在 application:continueUserActivity:restorationHandler 委托(delegate)中恢复您的事件,在我的例子中它没有被调用。

好吧,我的错误是你需要在 application:didFinishLaunchingWithOptions: 方法中返回 YES,否则如果你返回 NO,则 application:continueUserActivity:restorationHandler 不是打电话。

我们已经在我们的应用程序中实现了 FB,所以我们返回 [[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions],这将返回 NO。

我已将 application:didFinishLaunchingWithOptions: 函数中的代码更改为此

if (launchOptions && [[launchOptions allKeys] containsObject:UIApplicationLaunchOptionsUserActivityDictionaryKey]) {
return YES;
}
else {
return [[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
}

这样 application:continueUserActivity:restorationHandler 委托(delegate)被成功调用,事件可以成功恢复。

关于ios Handoff 在 launchOptions 中缺少 NSUserActivity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36792487/

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