2017-06-21 23 views
1

Apple WatchからiPhoneにグローバル変数を送信する方法を見つけるために何時間も努力してきました。Apple WatchからSwiftのiPhoneにデータを転送

は、AppleウォッチにiPhoneからデータを転送当接多くの質問がありますが、私はiPhoneにAppleの時計からデータを転送したいので、その逆はないスウィフト3.

にこれは、ない悪徳は重複ではありませんVersa。

どうすればいいですか?

+1

[iOSラベルからWatchOSラベルへのテキストを渡す - swift-](https://stackoverflow.com/questions/44673494/pass-text-from-ios-label-to-watchos-label-swift)の可能な複製 –

答えて

1

Apple WatchからiPhoneへのデータ転送は、その逆の場合と非常に似ています。グローバル変数については

おそらくWCSessionupdateApplicationContext()を使用する必要があります。

let session = WCSession.default() 
if session.activationState == .activated { 
    session.updateApplicationContext(["my_global": g_myGlobal]) 
} 

iPhoneではデフォルトWCSessionにデリゲートを割り当て、それを有効にする必要があります。

func session(_ session: WCSession, didReceiveApplicationContext applicationContext: [String : Any]) { 
    let receivedGlobal = applicationContext["my_global"] as? TypeOfTheGlobal 
} 

また、あなたがsendMessage(_:replyHandler:errorHandler:)を使用することができますが、これは到達可能でiPhoneが必要になります:WCSessionDelegateでは、次のメソッドを実装します。

一般的には、Zak Kautzのアドバイスに従って、WatchConnectivityを読むことをお勧めします。これは時計と電話の間で通信する最も一般的な方法です。

関連する問題