可能であれば、ユーザーが時計アプリを完全にバイパスできるようにしたいと思います。
のインスタンスを作成するために、ViewController に ClockKit をインポートしようとしましたCLKComplicationServer
。「そのようなモジュールはありません」というエラーが表示されます。
iOS アプリからコンプリケーションと直接通信する方法はありますか?
可能であれば、ユーザーが時計アプリを完全にバイパスできるようにしたいと思います。
のインスタンスを作成するために、ViewController に ClockKit をインポートしようとしましたCLKComplicationServer
。「そのようなモジュールはありません」というエラーが表示されます。
iOS アプリからコンプリケーションと直接通信する方法はありますか?
CLKComplicationServer
その一部はClockKit
、watchOS2 のみで使用できます。
を使用して iOS からコンプリケーション用のデータを送信できます[WCSession transferCurrentComplicationUserInfo:]
。好きではありませんが[WCSession transferUserInfo:]
、watchOS アプリを起動し、できるだけ早くメッセージを配信します。
これにより、watchOS アプリが起動され-(void)session:(WCSession *)session didReceiveUserInfo:(NSDictionary<NSString *,id> *)userInfo
、Watch 側WCSession
のデリゲートが呼び出されます。ComplicationServer
このデリゲートでは、次のように使用できます。
CLKComplicationServer* server = [CLKComplicationServer sharedInstance];
[server.activeComplications enumerateObjectsUsingBlock:^(CLKComplication * _Nonnull each, NSUInteger idx, BOOL * _Nonnull stop) {
[server reloadTimelineForComplication: each];
}];
最後に、それはあなたを呼び出しますComplicationController
。