私は起動時にインターネットから情報を取得するアプリを開発中です。コードはdidFinishLaunchWithOptionsにあります。 Wi-Fiや3G接続はすべて正常ですが、接続が遅くなるとアプリがクラッシュします。私はその理由を知っている:iOSはdidFinishLaunchWithOptionsを終了するのに20秒以上かかるアプリを殺す。遅い接続でiosアプリを起動してインターネットからデータを取得する方法
質問は、この状況を解決する正しいアプローチは何ですか?いくつかの例?使用非同期スプラッシュ画面を長時間表示されないはずアップルヒューマンインターフェイスガイドラインによるとhttp://allseeing-i.com/ASIHTTPRequest/
だから、私は、rootViewControllerのViewDidLoadのデータを取得する必要がありますか?それを行う正しい方法ですか?一方、私の場合は、アプリケーションが表示する必要があるデータを取得しているため、アプリケーションをブロックする方が良いと思うので、データがないと表示できません。 ..ありがとう! – Carlos
私が経験したベストプラクティスは、できるだけ多くの基本UIをdidLoadで準備することです。すべての接続はdidAppearで始まります。これは、迅速かつ責任あるインターフェイスを提供します。いい例があります。ネイティブYouTubeアプリです。それを起動し、少し試して想像してみて、起動中にすべてのタブのすべてのデータを読み込もうとします。印象的ですね。そして、ビデオリストの一番下にあるLoad Moreを押すと、あなたが働いている間にアプリで遊ぶことができます。あなたはできるだけ良い経験としてユーザーを持って来てください:)単純な活動インジケーターでさえ、最初はうまくいくでしょう。 –
ありがとう、明日の朝私はあなたの提案に従うことを試みる! – Carlos