14

Apple WatchOS2 アプリの一目でわかるビューを開発しています。現在、安定した WatchConnectivity 接続の前提条件を完全には理解していません。シミュレーターで ComplicationController が sendMessage リクエストを正常に処理できるという奇妙な状況があります。私が一目見ようとすると、sendMessage リクエストは次のように失敗しました。

Error Domain=WCErrorDomain Code=7007 
"WatchConnectivity session on paired device is not reachable." 
UserInfo={NSLocalizedDescription=WatchConnectivity session 
on paired device is not reachable.

シミュレーターでアプリを起動しなかったことを認めなければなりません。しかし、なぜ ComplicationController は通信でき、WatchController は通信できないのでしょうか。また、インターネット上でエラー 7007 に関する説明が見つかりませんでした。

override func awakeWithContext(context: AnyObject?) {
    super.awakeWithContext(context)

    WCSession.defaultSession().sendMessage(["request": "getGlancesImages" ], replyHandler: {
        (result) -> Void in
            self.processGetGlancesImages(result)
        }, errorHandler: { NSLog("WatchGlanceController2. \($0.description)") } )
}

私は現在、WatchOS2 Beta 5 と iOS 9 Beta 5 で開発しています。これがベータ版であることは十分承知していますが、これはリリース前の最後のベータ版です。

4

2 に答える 2

9

デバッガーが Watch アプリにのみ接続され、iPhone アプリがシミュレーターから直接実行されていることを確認してください。

そのため、iPhone アプリを実行して最新のコードを取得してから、実行を停止します。次に、Watch アプリを実行し、iPhone シミュレーターを開き、iPhone アプリを開きます。両方のアプリが開始された後 (デバッガーが Watch アプリにのみ接続されている場合)sendMessage:replyHandler:errorHandler:のエラー コールバックは呼び出されず、メッセージは正常に送信されます。

于 2015-09-23T08:50:22.613 に答える