2

アプリ内サブスクリプション製品を持っています。アプリが読み込まれると、「今すぐ購読」画面が表示され、購入プロセスが開始されます。ユーザーがキャンセルした場合、アプリケーションはサービスを拒否したため、アプリケーションを閉じる/バックグラウンドに移動/終了する必要があります。これを行うために使用する最良の方法は何ですか?

4

3 に答える 3

9

この状況は、iOSヒューマンインターフェイスガイドラインの「プログラムで終了しない」で対処されています。

人々はこれをクラッシュと解釈する傾向があるため、iOSアプリケーションをプログラムで終了しないでください。ただし、外部の状況によってアプリケーションが意図したとおりに機能しない場合は、その状況についてユーザーに通知し、ユーザーがそれに対して何ができるかを説明する必要があります。アプリケーションの誤動作の程度に応じて、2つの選択肢があります。

問題を説明し、修正を提案する魅力的な画面を表示します。画面には、アプリケーションに問題がないことをユーザーに安心させるフィードバックが表示されます。これにより、ユーザーは管理下に置かれ、ユーザーが修正措置を講じてアプリケーションを引き続き使用するか、ホームボタンを押して別のアプリケーションを開くかを決定できます。

たとえば、ネットワーク接続がないと役に立たないiTunesStoreまたはAppStoreアプリについて考えてみます。デバイスを機内モードにしてからいずれかを起動すると、インターネット接続が必要であることを示すメッセージとともに大きなWi-Fiアイコンが表示されます。(アラートは機内モードを無効にすることを提案していると思いますが、[キャンセル]をタップすると、意味がわかります。アプリは終了しません。)

アプリを強制終了した場合、Appleはそれを拒否しますのでご安心ください。

于 2012-07-20T20:02:05.210 に答える
0

許可されているかわかりませんが、使用できます

Exit(0);

また:

[[NSThread mainThread] exit];

アプリケーションが閉じます。

于 2012-07-20T20:00:46.197 に答える
0

そうしないのが最善です。キャンセルを押した後、続行できない理由を説明する別の画面を表示し、再試行するためのボタンを表示することができます。

于 2012-07-20T23:06:46.617 に答える