-1

カスタムオーバーレイカメラで写真を撮るiPadアプリケーションに取り組んでいます。最初はシャッターが開いていますが、その後は閉じています。閉じた状態で iPad のスリープボタンを数秒押してみると、またシャッターが開いた。アプリを隠していたホームボタンも押してみたところ、再度アプリを開くとシャッターが開いた。これらの 2 つのアクションは、アプリケーションをバックグラウンドに置くことと同じです。この 2 つのメソッドは、アプリケーションが終了し、アプリケーションの didenterbackground メソッドが呼び出されます。アプリストアのルールに違反することなく、プログラムで数秒間アプリケーションをバックグラウンドにできるかどうか疑問に思っていました。プログラムでiPadのスリープボタンを数秒間押すことはできますか? [UIApplication sharedApplication].idleTimerDisabled=yes; を試しました。そしてその直後 [UIApplication sharedApplication].idleTimerDisabled=no; overlayviewcontroller の viewdidload メソッドで実行しましたが、機能しませんでした。このメソッドは、アプリケーションをバックグラウンドに置くことになっていますか? それはアップルストアのルールで認められていますか?この問題について何か助けてもらえないだろうかと思っていました。

よろしくお願いします。

4

1 に答える 1

3

このメソッドは、アプリケーションをバックグラウンドに置くことになっていますか?

いいえ、それは別の目的ですが、そのドキュメントを読んでみませんか?

アップルストアの規約で認められていますか?

(AppStoreのことですよね?Apple Storeならハードウェアも買えますし…)

いいえ、あなたの説明は AppStore のユーザー インターフェース ガイドラインに完全に違反しています。何らかの方法でこの動作を達成した場合、アプリは拒否される可能性があります。

アプリストアのルールに違反することなく、プログラムで数秒間アプリケーションをバックグラウンドにできるかどうか疑問に思っていました。

残念だけど違う。

ところで、少なくともこれを行うための最善の方法は を呼び出すことです- [SBUIController animateApplicationSuspend:]が、ここでも SpringBoard に直接フックしているため、明示的に禁止されています。

これが iOS のバグであると本当に信じている場合は、バグ レポートを提出することができます。

于 2012-11-25T20:50:38.197 に答える