2011-12-15 29 views
0

自動ロックの設定時間が2分でウェブセールスが2分以上かかるため、アプリがクラッシュしています。 時間が2分以上経過すると、毎回アプリがクラッシュします。iPhoneの自動ロックのためにアプリがクラッシュしますか?

しかし、私は設定から​​15分または決してに自動ロックの時間を設定する必要はありません。 私は、設定値を変更せずにアプリ内でいくつかのソリューションをしたい。

クラッシュを避けるための解決方法がわかっている場合は、教えてください。

ありがとう。

+0

リクエストで2分が非常に高いです...別のコールに分割しようとすることはできませんか? (もう一つは:私はあなたのアプリケーションを知らないが、アプリケーション「フリーズ」2分間、私はそれを閉じます。)私のアプリで –

+0

、私はそれはいくつかのウェブservies.andを使用して、データの大サイズを取得する必要があります私は別の呼び出しに分割することはできません。しかし、私はいくつかの修正時間の後に私のアプリを閉じることができます私に教えてください。 – uttam

答えて

3

リクエストが完了するまで、つまり[UIApplication sharedApplication].idleTimerDisabledからYESに設定されるまで、自動ロックを一時的に無効にすることができます。

他のオプションは、finite-length task running in backgroundとして、あなたのWebサービス要求を設定することですので、お使いのデバイスがスリープ状態になる場合でも、要求が実行され続けます。しかし、10分の時間制限に注意してください。

いずれかの方法フォアグラウンドで実行している場合、要求は非同期で行われ、メインスレッドをブロックしていないか、あなたのアプリが常にあまりにも長い間ことをやった後、殺されますことを確認してください。

1

どのようにアプリがバックグラウンドに入るとき

- (void)applicationWillResignActive:(UIApplication *)application

アクティブ/非検出について、タスクの完了メカニズムを使用する - この質問を見てみましょう: How to implement Task completion

側の注意点としては、そこにありますバックグラウンドタスクを完了するのに10分の制限があります(警告が表示されます)。そうしないと、アプリが終了します。

あなたは小さなチャンクにデータを分割を検討し、進捗状況を追跡しましたか?

関連する問題