2016-12-16 8 views
0

iOSアプリケーションのユニバーサルリンクの実装に取り​​組んでいます。ここでiOS、ユニバーサルリンク、Swift。 continueUserActivityが呼び出されない

はAppDelegateの私の小片である:

private func application(_ application: UIApplication, openURL url: URL, sourceApplication: String?, annotation: AnyObject) -> Bool { 
    DeepLinkHelpers.handleUniversalLink(url.absoluteString) 
    return true 
} 

private func application(application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Void) -> Bool { 
    DeepLinkHelpers.handleUniversalLink(userActivity.webpageURL?.absoluteString) 
    return true 
} 

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 

    signalRConnector.launch() 

    NotificationCenter.default.addObserver(self, selector: #selector(AppDelegate.processRestartSignalRNotification(_:)), name: NSNotification.Name(rawValue: "restartSignalR"), object: nil) 

    NotificationCenter.default.addObserver(self,       selector: #selector(AppDelegate.reachabilityChanged(_:)), 
              name: ReachabilityChangedNotification, 
              object: reachability) 

    do { 
     try reachability.startNotifier() 
    } catch { 
     Logger.save(text: "Unable to start notifier") 
    } 
    return true 
} 

私はユニバーサルリンク統合のための他のすべてのステップに処理している:私たちのWebアプリケーションにおけるリンゴアプリサイト - 関連ファイルを公開

  1. developers.apple.comで関連付けられたドメイン機能に切り替えられました
  2. xcodeで指定された関連ドメイン
  3. アプリを手動で開始されるまで待機する
  4. サイードのXcodeのファイルのエンタイトルメントのターゲットメンバーシップチェック(代わりの 自動)

私はデバッグに次のこと:

  1. 接続のiPad
  2. xcodeでプロジェクトを開始する
  3. ipadを開いてカレンダーを開き、あるイベントに含まれるリンクをクリックします。 リンクの形式は次のとおりです:app.domain.com/#/123456789
  4. Ipadはアプリを開きますが、continueUserActivityはコールしていません。 アプリ内の正確な状態にナビゲートするためのURLのコードを処理できません。

ドキュメントに従ってcontinueUserActivityを実行する必要があります。アプリがバックグラウンドで実行されているときと、アプリが実行されていないときの両方で実行されていません。

ありがとうございます!どんな助けもありがたい。

+0

https://search.developer.apple.com/appsearch-validation-tool エラー:ウェブページのURLを解析できません。別のURLを試してみてください。 – dskibin

+0

しかし、これは正しいとすべてのテストが緑色であることを示しています:https://branch.io/resources/aasa-validator – dskibin

+0

Appleのバリデーターはユニバーサルリンクバリデータではなく、その結果はユニバーサルリンクの機能に関係なく。その詳細については、[ここ](http://stackoverflow.com/questions/41169954/applinks-validator-domain-missing-from-entitlement/41173007#41173007)を参照してください。 –

答えて

0

これは、continueUserActivityの機能をprivateとマークしているためです。私はそれを見たことがない、実際には私が試してみると、実際にスイフト3はエラーを与えます。 on all of GitHubというように構造化されたコードの例はないようです。

私はprivateスコープを削除することをお勧めします。

+1

ありがとうアレックス! 私はあることを私のコードを変更しました: FUNCアプリケーション(_アプリケーション:のUIApplication、userActivityを続ける:NSUserActivity、restorationHandlerを:?(@escaping [任意]) - >ボイド) - >ブール{ ... リターン真 } これは今動作します。 – dskibin

関連する問題