- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我已经在我们的应用程序中实现了 Handoff,当应用程序在前台或后台运行时,它可以很好地用于 Web 到应用程序的切换,反之亦然。
但是,如果应用未运行,那么如果用户从 Web 到应用切换启动应用,在 launchOptions 字典中,我得到 UIApplicationLaunchOptionsUserActivityDictionaryKey
,但缺少对事件的引用.
看截图:
如您所见,我只获得了 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/
观看了 WWDC 视频后,我很想在我的一个应用程序中采用切换,这个概念看起来很简单,但是切换没有出现在我的其他设备上,其他 Apple 切换正在工作。我猜我的问题与我的 info.plist 文件中的
我已经在我的应用程序中添加了少量代码来处理 Handoff。没什么特别的,只是创建简单的 NSUserActivity,将我的 -[UIViewController userActivity] 属性设
用户事件信息如何在 Handoff 中传输?该文档建议通过 iCloud 处理更大规模的数据同步,但没有说明用于小数据的机制。 最佳答案 据我了解,Handoff 的所有通信都是通过蓝牙 LE 完成的
我正在尝试从 Apple Watch 到 iPhone 继续执行一项任务,并希望将包含相关数据的父应用程序启动到前台以继续工作流程。我知道使用 WKInterfaceController.openPa
我希望有一个 ThreadPoolExecutor,我可以在其中设置一个 corePoolSize 和一个 maximumPoolSize,然后队列将切换任务立即进入线程池,从而创建新线程,直到达到
我有一个 iOS 应用程序,它查看粘贴板的内容并尝试(希望)用它做一些智能的事情。 (该应用程序需要 iOS 9.3+,尽管此时我想大多数人都在使用 iOS 11.x。) 问题是我的设备 (iPhon
我已经在我们的应用程序中实现了 Handoff,当应用程序在前台或后台运行时,它可以很好地用于 Web 到应用程序的切换,反之亦然。 但是,如果应用未运行,那么如果用户从 Web 到应用切换启动应用,
我可以使用模拟器和一台设备测试 Handoff,还是只能使用两台物理设备进行测试? 最佳答案 苹果的文档: API Differences Simulator APIs don’t have all
我正在使用 Sirikit 与我的支付域应用程序集成,我需要与该应用程序进行交互。我阅读了Apple文档,他们要求使用通用框架。是否可以使用切换?如果是的话怎么办?如何从 Sirikit 调用父应用程
我在我的测试设备(不使用模拟器)和 SwiftUI 上使用最新版本的 Xcode、macOS、iOS 我的 UI 与 SwiftUI 和我的 UserActivity DelegateHandler:
我正在尝试从我的 WatchKit 应用程序发送一个字符串:我可以通过锁定屏幕正常启动应用程序,但是当调用 continueUserActivity 方法时,userActivity.userInfo
在 Cassandra 中,Hinted Handoff(HH) 只有在满足一致性级别时才会发生。此外,提示对客户来说是不可读的。在一致性级别 > ANY 的情况下,使用 HH 既不能提高写入可用性,
我有一个简单的项目,用户在 Apple Watch 上轻按一个按钮,然后在 iPhone 上播放一些音频,这很容易使用 openParentApplication 方法并在 AppDelegate 中
我正在按照 this 设置我的 apple-app-site-association 文件教程:Handoff 适用于 iOS 8,但 handoff 不适用于 iOS 9。我设置了一个免费的托管站点
我是一名优秀的程序员,十分优秀!