2013-11-15 5 views
8

Ich versuche, meine App zu erzwingen automatisch den „Suspended“ Zustand programmatisch zu betreten, so kann ich auf dem Core-Bluetooth Wiederherstellung testen. Ich habe versucht,Erzwinge programmgesteuert das Aussetzen einer iOS 7 App?

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

Aufruf aber nur sendet sie in den Hintergrund. Mache ich es falsch? Gibt es einen besseren Weg? Oder ist es unmöglich?

Ich möchte jeder genau daran zu erinnern, was es bedeutet, eine App ausgesetzt zu haben, da es immer Verwirrung über die Terminologie ist: Link to state diagram of iPhone apps Eine App im Hintergrund wird auf unbestimmte Zeit, wenn der Systemspeicher muss gesperrt werden, sondern Kern Die Bluetooth-Wiederherstellung kann eine App vorübergehend zurück in den Hintergrundzustand versetzen.

+0

Dies könnte hilfreich sein: [Automatisieren von UI-Tests] (https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/Instruments.UserGuide/Automatisierung desInstruments/Verwenden desAutomationInstrument.html) Weitere Informationen finden Sie unter Testen für Multitasking unter der Boden. Es wird nicht aus dem App-Code selbst, sondern aus dem Skript des Instruments gemacht. Aber es ist nur zum Emulieren der Home-Taste drücken. –

+0

ich nicht getestet hatte - es könnte funktionieren: http://stackoverflow.com/a/13525245/653513 –

+1

UIApplication * app = [UIApplication shared]; [App perform: @selector (Suspend)]; –

Antwort

6

Ich weiß nicht, wie dies programmatisch zu tun, aber was ich ist die Home-Taste zu drücken, starten Sie dann eine Reihe von Schwergewichts-Anwendungen wie Safari und grafikintensive Spiele. Der Speicherdruck bewirkt, dass das System Ihre App ziemlich schnell beendet. Core Bluetooth sollte dann initiate der Prozess wiederherstellen und neu starten Sie Ihre App, wenn es Aktivität von einem peripheren erkennt Sie verbunden sind/gebeten haben, zu verbinden.

+3

Haha, das ist eine gute Idee. Wenn es nicht programmgesteuert möglich ist, mache ich vielleicht eine App, die absichtlich so viel Speicher wie möglich verbraucht. – Jegus

+0

Ich habe eine schöne 500 MB-Anwendung gemacht, aber es ist immer noch ziemlich unzuverlässig. Nach dem Öffnen jeder App, die mein Handy hat, einschließlich der 500 MB, habe ich es nur geschafft, die App, die ich testen möchte, einmal auszusetzen. – Jegus

Verwandte Themen