2012-03-06 14 views
1

これは2つの部分からなる質問です。スプラッシュ画面での警告

  1. は、私は、ユーザーが最初にアプリを起動したときに同意する必要があり、ユーザーの同意を作成している(それはいくつかの情報と警告し、/ボタンを同意しない同意する)私はメソッドを呼び

をそれは、問題がスプラッシュ画面の読み込みが完了していると私の最初のビューが起動したとき、アラートがポップアップ表示され

- (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

をmyAppDelegate.mの内側にこのアラートを生成し、メソッド内。私はこれがスプラッシュスクリーンの間に起こるようにしたい。どうすればいい?ユーザーは、「同意しないボタン」、私は彼らが拒否良い方法と意志のリンゴがありますので、私は

     exit(0); 

でそれをプログラムしたアプリを終了したいを押すと

は、2番目の質問は、私のこれのためアプリ?あなたのバックグラウンド初期ビューとして私たちのdefault.pngをロードし、それのコントローラーにアラートを処理しないのはなぜ事前

答えて

2

1)スプラッシュ画面(デフォルトの.png)中にアプリがメモリに読み込まれているため、UIAlertViewの表示を含むコードを実行できません。そのため、スプラッシュが消えるまでアラートが表示されません。スプラッシュ画面を削除することは、applicationDidFinishLoading:withOptions:を呼び出す前にアプリが最後に行うことです。

あなたは何ですかあなたのスプラッシュ画面を模倣するビューコントローラを作成します。これは簡単です - あなたが望むならば、default.pngを背景として再利用することもできますが、この最初のビューコントローラにあなたの同意テキストと合意/不同意ボタンを提示するだけです。

あなたの質問には:exit()を使用することをお勧めします。ユーザーが拒否した場合は、何もしないでください。もちろん、私が示唆したようにView Controllerのルートに行くと、ユーザーが同意する別の機会を残すことができます。

別の考えでは、バイナリをアップロードするときにアップルがアプリのEULAをカスタマイズできるようになっています。あなたはそれを置いてカバーすることができます。

+0

詳細な回答ありがとうございます。受け入れます – jamesHoward

0

感謝。答えに基づいていつでも別のビューまたはセグを加えることができます。

問題は、UIAlertがメインスレッドをブロックするため、アプリケーションが時間内に起動しなくなり、プロセスが終了する可能性があります。

関連する問題