0

iOS アプリがあり、ユーザーがデバイスのホーム ボタンをクリックしたときに、いくつかの理由でアプリを閉じる必要があります。背景には対応できません。

というオプションがありApplication does not run in backgroundますが、このオプションを使用すると Facebook で認証できなくなるという Facebook SDK のバグがあるため、使用できません。Facebook でのバグ報告はこちらです

どうすればいいのかわからないので、どうすれば再起動できますか?[[NSThread mainThread] exit]applicationDidEnterBackground?_

これに対する回避策はありますか?

4

2 に答える 2

0

アップルのガイドラインに違反していますが、プレーンオールドstdlib.h exit()はアプリを終了します(「プログラムで終了しない」を参照)。

何も開始しない場合、アプリはバックグラウンドアクションを実行しません。

于 2013-01-17T20:19:22.900 に答える
0

合法的な (Apple がアプリを承認する) 方法は、 にキーUIApplicationExitsOnSuspendを設定または作成YESしますInfo.plist

これをアクションとして取得するにはexit(0)またはが必要です[[NSThread mainThread] exit]が、これは Apple のヒューマン インターフェイス ガイドラインに違反しています

したがって、リセット機能を持つようにすべてのビューを設計することもできます。次に、applicationDidEnterBackground次の起動時にリセットする必要があることを保存するか、すべてのアクティブなビューでリセットを直接呼び出すときにapplicationWillEnterBackground

したがって、アプリは実際には再起動しませんでしたが、すべてのビューは次のようになります。アドバイスとして、終了時にアプリ自体がシャットダウンしないようにアプリを設計します。これはユーザー エクスペリエンスが良くありません。ホーム ボタンをクリックすると、電話がかかってきたときと同じように、すべてのデータが失われます。

于 2013-01-17T20:24:30.953 に答える