Apple がプログラムによるアプリケーションの終了をサポートしていないことは承知していますが、ユーザーが使用許諾契約に同意しない場合、アプリケーションを終了したいですか? 断られた場合、アプリの読み込みを制限することはできますか? または この場合、どうすればよいですか?
8 に答える
アプリケーションをクラッシュさせたり、強制終了したり、アプリケーションを終了する方法を見つけたりしないでください。ユーザーが契約に同意しない場合、アプリケーションの使用に関心がない可能性があり、最終的にはアプリケーションを削除します。ただし、プロトコルが言うように、契約アラートを表示し(すでにEULAがある場合)、同じものを指して、アプリケーションを使用するには契約に同意する必要があることをユーザーに尋ねます.
別の方法としては、一部の画面のプレビューを表示して (EULA に同意しない場合)、画面が気に入った場合は、契約への同意を求めます。
それが役に立てば幸い。
I would suggest you just keep re-showing the license agreement. If they pick "No", have a popup saying "You must accept the agreement to use this application", and when they tap "OK" re-direct them to the agreement confirmation again.
You can show a separate view apologizing that without the user giving consent, they will not be able to use your app. That's another opportunity to have them change their mind, by the way.
私のアプリの 1 つで、ユーザーに同意を示し、同意するか拒否するかを尋ねました。
ユーザーが同意を拒否した場合、同意を拒否するとアプリを先に進めないことをユーザーに通知するポップアップを表示し、同意画面のみに表示しました。
手動でアプリケーションを終了すると、アップルはアプリがそのように機能することを望んでいないため、アプリはアップルによって拒否されます。
お役に立てれば...
[[UIApplication sharedApplication]performSelector:@selector(suspend)];
But exiting app like this is not a good practice.
Apple は の使用を推奨していませんが、ユーザーが使用許諾契約に同意exit(0)
しないとアプリが動作しないため、この場合は問題ないと思います。
ただし、通常のアプリ操作を終了するために使用することはお勧めできません。
NSAssert(NO, @"The user failed to accept the EULA");
おそらく、条件を受け入れることを拒否したためにアプリケーションが終了することを示すアラートビューを提示した後、デリゲートコールバック内で機能すると思います。その後、クラッシュ レポートでアサーションの失敗を簡単に追跡して、EULA を拒否した人の数を特定できます。
ただし、これがアプリストアのレビューを通過するかどうかはわかりません.