2017-03-27 14 views
3

親iOSアプリから時計拡張機能を開く必要があります。 Nike + Run Clubアプリにも同様の機能が実装されています。つまり、親アプリケーションの「スタート」ボタンをタップすると、瞬時に拡張キットが開きます。 HKHealthStoreの完了:)方法:@abjuratoが言ったように親iOSアプリから時計アプリを開くにはどうすればよいですか?

+2

これはstartWatchApp(とを介して行われている中で、それを起動することができます。 iOSアプリはトレーニングを設定し、時計と時計を送信して起動するかどうかを送信しますが、iOSアプリがフォアグラウンドである間のみ実行できます。 https://developer.apple.com/reference/healthkit/hkhealthstore/1648358-startwatchapp – abjurato

答えて

5

、あなただけの「ワークアウトモード」

import HealthKit 
import WatchConnectivity 
let healthStore = HKHealthStore() 

func startWatchApp() { 
    print("method called to open app ") 

    getActiveWCSession { (wcSession) in 
     print(wcSession.isComplicationEnabled, wcSession.isPaired) 
     if wcSession.activationState == .activated && wcSession.isWatchAppInstalled { 
      print("starting watch app") 

      self.healthStore.startWatchApp(with: self.configuration, completion: { (success, error) in 
       // Handle errors 
      }) 
     } 

     else{ 
      print("watch not active or not installed") 
     } 
    } 

} 

func getActiveWCSession(completion: @escaping (WCSession)->Void) { 
    guard WCSession.isSupported() else { return } 

    let wcSession = WCSession.default() 
    wcSession.delegate = self 

    if wcSession.activationState == .activated { 
     completion(wcSession) 
    } else { 
     wcSession.activate() 
     wcSessionActivationCompletion = completion 
    } 
} 
関連する問題