私はアプリケーションでHandoffを実装しました。アプリがフォアグラウンドまたはバックグラウンドで実行されているときは、Webからアプリへのハンドオフ、またはその逆の場合にうまくいきます。iOS HandoffにlaunchOptionsのNSUserActivityがありませんか?
ただし、アプリが実行されていない場合、ユーザーがアプリをウェブからアプリのハンドオフに起動すると、launchOptions辞書にはUIApplicationLaunchOptionsUserActivityDictionaryKey
が表示されますが、アクティビティへの参照がありません。
参照のスクリーンショット:
あなたは私がNSUserActivity
のためだけIDを取得しています見ることができるように。 これはiOS 9のバグですか?
IDを使用してアクティビティへの参照を取得する方法はありますか?
編集、私はこれがOK
- (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を確認してください。 –