私はiOSアプリケーションとwatchOSアプリケーションを持っています。 iOSアプリは、初めてwatchOSアプリが起動したときに、watchOSアプリへのアクセストークンを提供します。このwatchOSアプリケーションは、NSURLSessionDownloadTaskリクエストを送信することによって、定期的にサーバーからデータ更新を取得し始めます。watchOSはNSURLSessionDownloadTaskリクエストの送信を停止します
マイNSURLSessionは、次のように構成されています
NSURL *url = [NSURL URLWithString:API];
NSMutableURLRequest *request = [self buildRequestForURL:url andMethod:@"POST"];
NSString *body = [NSString stringWithFormat:<some request params>];
[request setHTTPBody:[body dataUsingEncoding:NSUTF8StringEncoding]];
[[self.urlSession downloadTaskWithRequest:request] resume];
watchOSアプリが正常にいくつかの時間のための更新を受信:
NSURLSessionConfiguration *config = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:[[[[NSBundle mainBundle] bundleIdentifier] stringByAppendingString:@".backgroundsession"] stringByAppendingString:[NSUUID UUID].UUIDString]];
config.sharedContainerIdentifier = APP_GROUPS_ID;
self.urlSession = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:nil];
それから私は、定期的な方法を、次のリクエストを送信します。 iOSアプリがバックグラウンドモードにあるとき、または手動でアンロードされているときでも、アップデートを正常に受信します。
iPhoneOSの画面をロックすると(ちょっとしたことがあっても数分後)、watchOSアプリはアップデートの受信を停止します。
誰かがwatchOSアプリケーションで同じ問題を経験しましたか?
'WKURLSessionRefreshBackgroundTask'を使用していますか? –
@JensPeterいいえ、私はしません。 –