0

AppleWatch アプリのボタンを押したときに iPhone アプリのビューを簡単に更新する方法がまだ見つかりませんでした。

次のように NSUserDefaults Observer で試しました。

iPhone アプリ Viewcontroller(ViewDidLoad() 内):

 // Create and share access to an NSUserDefaults object.
 mySharedDefaults = NSUserDefaults(suiteName: "group.sharedTest")

//Add Observer    
NSUserDefaults.standardUserDefaults().addObserver(self, forKeyPath: "test", options: NSKeyValueObservingOptions.New, context: nil)

Watchkit Extensions InterfaceController に、次のコードのボタンを含む IBAction を追加しました。

mySharedDefaults!.setObject("testValue", forKey: "test")
mySharedDefaults!.synchronize()

しかし、ボタンを押しても何も起こりません!iPhone ViewController 内にオブジェクトを設定すると機能しますが、アプリ経由で更新すると機能しません! 誰かが私を助けることができますか?

4

2 に答える 2

0

WatchKit 拡張アプリと iPhone アプリは別々の実行中のアプリケーション インスタンスであり、通知は同じインスタンス内で行われると推測しています。

別の方法として、特定のキーの変更を定期的にチェックし、その変更を検出すると通知自体を生成する、iPhone アプリの別のスレッドで新しい操作を行うことができます。

于 2014-11-21T05:12:26.467 に答える