2013-11-15 16 views
8

私は強制的に "Suspended"状態にプログラムで自動的に入るようにしようとしています。そのため、コアのBluetooth修復のテストを行うことができます。 私はプログラムで強制的にiOS 7アプリを強制停止しますか?

[[UIApplication sharedApplication] performSelector:@selector(suspend)]; 

を呼び出して試してみましたが、これは単なる背景にそれを送信します。私はそれを間違っているのですか?より良い方法がありますか?それとも不可能なのでしょうか?

私は用語上の混乱が常にあるとして、それはアプリが中断され持っている意味を正確に皆に思い出させるしたいと思います。システムがメモリを必要とする場合、バックグラウンドでアプリが無期限に中断しまいます Link to state diagram of iPhone apps が、コアブルートゥースの復元は、アプリをバックグラウンド状態に一時的に戻すことができます。

+0

これはいくつかの助けになるかもしれません:[UIテストの自動化](https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/AutomationInstrument/UsingtheAutomationInstrument.html)「マルチタスクのテスト」を参照してください。ボトム。それはアプリケーションコード自体からではなく、楽器スクリプトから行われます。しかし、ホームボタンのプレスだけをエミュレートするためのものです。 –

+0

私はこれをテストしていない - それは動作する可能性があります:http://stackoverflow.com/a/13525245/653513 –

+1

UIApplication * app = [UIApplication sharedApplication]; [apps performSelector:@セレクタ(サスペンド)]; –

答えて

6

私はこれをプログラム的に行う方法はわかりませんが、私はホームボタンを押してから、Safariやグラフィックスを大量に使用するゲームのような大量のアプリを起動します。メモリ圧迫により、システムはかなり早くあなたのアプリケーションを終了させます。コアのBluetoothはリストアプロセスを開始し、接続しているペリフェラルからのアクティビティを検出したときにアプリケーションを再起動する必要があります。

+3

ハハ、それはいい考えです。プログラマチックにそれを行う方法がない場合は、できるだけ多くのメモリを意図的に使い果たしてしまうアプリを作成します。 – Jegus

+0

私は素晴らしい500 MBのアプリケーションを作ったが、それはまだかなり信頼できない。私の電話が持っているすべてのアプリを開いた後、500 MBのものを含めて、私は一度だけ中断するためにテストしようとしているアプリを手に入れました。 – Jegus

関連する問題