質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

AppleWatch

AppleWatchは、iPhoneと連動して動作する時計型のデバイスです。時間の確認だけでなく、通話や受信メールの確認などを行うことができます。

Q&A

0回答

1357閲覧

SwiftのWatchConnectivityによる通信でUser Info TransferはできるのにInteractive messagingができません。。。

Hayato1201

総合スコア220

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

AppleWatch

AppleWatchは、iPhoneと連動して動作する時計型のデバイスです。時間の確認だけでなく、通話や受信メールの確認などを行うことができます。

0グッド

0クリップ

投稿2018/11/27 14:28

以下の様にiPhene側のコードを書きました。

Swift

1//送信側 2if (WCSession.isSupported()) { 3 session = WCSession.default 4 5 session?.delegate = self 6 session?.activate() 7 } 8 9session!.transferUserInfo(["titles": List_watch,"Colors_watch": c_w])

watch側は以下の様にします。

Swift

1//受信側 2 3func session(_ session: WCSession, 4// didReceiveUserInfo userInfo: [String : Any] = [:]) { 5 6 7 //何かしらの処理 8 9} 10

この様にするとうまくいきます。しかしInteractive messagingで通信をしたくて以下の様にしました。

Swift

1//送信側 2if (WCSession.isSupported()) { 3 session = WCSession.default 4 5 session?.delegate = self 6 session?.activate() 7 } 8 9 session!.sendMessage(["titles": List_watch,"Colors_watch": c_w], replyHandler: { replyDict in }, errorHandler: { error in 10 print("エラー、送れてない,(error)") 11 12 })

Swift

1//受信側 2 3func session(_ session: WCSession, didReceiveMessage message: [String: Any], replyHandler: @escaping ([String: Any]) -> Void) { 4 5 6 //何かしらの処理 7 8} 9

するとerrorHandlerが実行されてしまいます。また、そのエラーは以下の通りです。

エラー、送れてない,Error Domain=WCErrorDomain Code=7004 "WatchConnectivity session has not been activated." UserInfo={NSLocalizedRecoverySuggestion=Activate the WatchConnectivity session., NSLocalizedDescription=WatchConnectivity session has not been activated., NSLocalizedFailureReason=Function activateSession has not been called.}

セッションがアクティベイトされていないという様な事が言われていますが、User Info Transfeの時はセッションができているから通信できているわけだと思いますし、なぜこの様になるのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問