我已經在我們的應用程序中實現了Handoff,當應用程序在前臺運行或在後臺運行時,它對web到應用程序的切換工作正常,反之亦然。ios Handoff在launchOptions中缺少NSUserActivity?
但是,如果應用程序沒有運行,那麼如果用戶從web啓動應用程序到應用程序切換,在launchOptions字典中,我得到UIApplicationLaunchOptionsUserActivityDictionaryKey
,但是缺少對該活動的引用。
見截圖:
正如你可以看到,我只得到了ID爲NSUserActivity
。 這是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;
}
hey lefteris;你能分享一下你的代碼嗎? –
@SuhasPatil添加了代碼,雖然我認爲這沒有關係 – Lefteris
代碼看起來不錯,您是否嘗試了另一種方法(BOOL)應用程序:continueUserActivity:restorationHandler並檢查您提供的活動類型是否爲plist。 –