16308


現在AppleWatchアプリの開発を行っています。  
WatchKitのopenparentapplicationを利用してiPhone側でプッシュ通知を送る機能を実装しているのですが、iPhoneの状態がフォアグラウンドもしくはバックグラウンドで動いている場合しか動作しません。アプリがterminatedの状態でもopenparentapplicationメソッドを使えばiPhone側ではアプリがバックグラウンドで起動されるとリファレンスには書いてあるのですがうまくいきません。何かアドバイスをいただけると幸いです。

[code]

    func application(application: UIApplication, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]?, reply: (([NSObject : AnyObject]!) -> Void)!) {
    
        self.backgroundTaskIdentifier =
            UIApplication.sharedApplication().beginBackgroundTaskWithName(
                "MyTask",
                expirationHandler: {
                    print("Background task is expired now")
            })
    
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
            //長めの処理
    }
    
[/code]


CC BY-SA 3.0
2015-07-01T01:11:01.920
11911
2015-09-09T08:23:13.607
2015-07-08T15:51:41.480
8000
5346
question
ios swift watchkit
親アプリがterminatedの際にopenparentapplicationが作動しない件


遅いレスで恐縮ですが、私もこの件でかなり悩みましたが、結局解決することができませんでした。まわりのハイスキルなエンジニアさんたちも同じことを言ってましたので、おそらくopenParentApplicationにはバグがあったのではないかと思います。

watchOS2のWatchConnectivityを使い始めましたが、こちらは今のところいい感じで動いてますので、今後はこちらを使い、既存ユーザーにはなるべく早くwatchOS2へのアップデートをお願いするのが得策かと思います。

ちなみに、私のwatchOS1アプリをwatchOS2へ対応させたときのログをもとに、[Qiitaにtips](http://qiita.com/sassymanyuichi/items/ed32c5a10bdc1b799c6a)を書きましたので、もしよければご参考にされて下さい。


CC BY-SA 3.0
2015-09-06T11:59:05.707
16308
2015-09-09T08:23:13.607
2015-09-09T08:23:13.607
682
682
11911
answer