2011-12-17 16 views
1

私たちはiPadアプリケーションを開発し、Appleのストアで適切にテストした上で、レビューのために提出しました。私たちは、あなたのアプリが に、iPadのランニングのiOS 5.0.1の両方でのWi-Fiと携帯電話ネットワーク私たちは時に問題が発生した AppleがiPadアプリを拒否する

の起動に失敗したことがわかった

- :アップルは、以下の理由を与えて我々のアプリを拒否しました家の 画面でアプリケーションを選択すると、アプリは起動イメージを表示してから予期せず終了します。この は、iOS 5がアプリケーション用のウォッチドッグタイマーを使用している可能性があります。 アプリケーションが最初の起動を完了するのに時間がかかりすぎる場合、オペレーティングシステムの はアプリケーションを終了します。

ウォッチドッグタイマの詳細については、テクニカルQ & Aを参照してください。デバッガから起動が、ユーザーによって起動 クラッシュしたとき 、アプリケーションがクラッシュしていません。..

は別の可能性が不足している資格である可能性があります。 の詳細については、テクニカルノート:解決 "0x800003A"、 アプリケーションが起動せず、 "権利が失われています"を参照してください。

私たちは私たちが最後にこの問題を再現することができないので、Appleがなぜこのアプリケーションを拒否したのか理解できません。Appleのフィードバックはそれほど説明的ではありません。

この問題を回避してApple Storeに再送信するにはどうすればよいですか?

+0

あなたはそれを試していくつかのブレークポイントを置く必要があります、これはアプリケーションが正確にクラッシュする場所を見つけるための唯一の可能性があります。 –

+0

デバッグ版に加えて、あなたのアプリのリリース版をテストしましたか? –

+0

あなたはあなたのapplicationdidfinishlaunchingメソッドの本文を投稿することができます.. – ajay

答えて

6

Appleがあなたのアプリをテストしたとき、彼らは起動しようとしましたが、起動が完了しませんでした。打ち上げに時間がかかりすぎると(5〜10秒)、打撃によって打ち切られ、決して終了しません。それはおそらく起こったことです。あなたに悪い資格がある可能性もありますが、おそらく早くその問題にぶつかっていたでしょう。

アプリ起動時にメインスレッドで同期ネットワークアクセスを行っている可能性はありますか?これは簡単にこの問題を引き起こす可能性があります。その場合は、にアプリを修正しないでください。メインスレッドで同期ネットワークアクセスを実行する必要があります。

+0

ありがとうKalvin。アプリケーションが起動したら、すでに2番目のスレッドを作成し、そのスレッドですべての操作を実行します。 –

+0

@SandeepDhama - Xcodeでデバイスを実行してアプリケーションを実行している場合、Xcodeはウォッチドッグタイマーを無効にします。これがあなたのテストではうまくいったのかもしれませんが、Apple側ではそうではありません。マルチタスクインタフェースでハードウェアを強制終了した後は、常にデバイス上でアプリケーションを手動で実行してみてください。 –

+0

@ケビン・バラード - ご協力いただきありがとうございます。私たちのエンタイトルメントは有効ではありませんでした。古いxCodeをダウンロードしてビルドをやり直し、再提出しました。 –

2

applicationDidFinishLaunching: をブロックするすべての同期UI/WEB更新呼び出しを削除する必要があります。

applicationDidFinishLaunchingは、アプリケーションスレッドをブロックせずにasapを返す必要があります。

ブロックコードをメソッドに移動し、performSelector afterDelayを使用してください。

+2

アプリはメインスレッドを決してブロックしません。 – jlehr

+0

理想的には...はい! – samfisher

関連する問題