0

iPhone アプリで定期メンテナンスを処理できる方法を探しています。アプリケーションで Web サービス (.Net/C#) を使用していますが、最近、Web サイトのトラフィックを維持するためにサーバーの数を増やしました。そのため、Web チームが Web サイトをアップロードするたびに、Web サイトが定期メンテナンス中であることが表示されます。iPhoneの場合、タイムアウトを同時に処理するために以下のコードを書きました。

NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60.0];

60.0秒後にユーザーに通知します。そのため、ユーザーはiPhone アプリケーションのフリーズについて不満を漏らしています。これを処理する他の方法はありますか?または 定期メンテナンス時に特定の画面を開く方法はありますか?

どんな助けでも大歓迎です!ありがとう。

4

2 に答える 2

1

このコードは別のスレッドで実行する必要があります。これを行う最も簡単な方法は、次のように Grand Central Dispatch を使用することです。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{

    NSURLResponse *response = nil;
    NSError *error = nil;
    NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60.0];
    NSData *resultData = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:&response error:&error];

    // Add code to handle returningResponse.

    // Error handling
    if (error != nil) {
        NSLog(@"An error occured! %@", error);
    }
});
于 2013-03-09T06:07:02.377 に答える
1

この場合、iOS 7 のサイレント バックグラウンド通知が機能する可能性があります。

于 2014-09-18T21:46:30.480 に答える