Starten Sie die installierte App auf dem angeschlossenen iPhone

9

Ich arbeite daran, eine automatisierte Testlösung für einige iOS-Anwendungen zu starten. Ich verwende Fruitstrap, um eine kompilierte App auf das verbundene iPhone zu übertragen und zu installieren, aber ich habe Schwierigkeiten, eine Möglichkeit zu finden, die Anwendung nach Abschluss der Installation automatisch zu starten.

Fruitstrap hat eine Option, um die App im GDB Debugger auszuführen, was funktioniert. Leider gibt es einige Testfälle, bei denen die App ohne den angehängten Debugger ausgeführt werden muss (spezielle Crash-Behandlung). Ich habe eine Menge Zeit damit verbracht, die Ressourcen der MobileDevice Library durchzuwühlen, die Fruitstrap verwendet, aber ich konnte beim Start einer App nichts ausmachen.

Irgendwelche Ideen?

    
BlueVoid 09.07.2012, 22:58
quelle

3 Antworten

2

Das Erstellen eines Bootstrap-Programms und die Verwendung von URL-Schemas mag für einige Leute eine Option sein und sollte sicherlich in Betracht gezogen werden, aber es passt nicht in meine Anforderungen.

Am Ende habe ich die App mit dem Debugger über Fruitstrap gestartet. Ich habe ferrastrap neu kompiliert, um die folgenden prep-Befehle einzuschließen (in der GDB_PREP_CMDS-Definition):

%Vor%

Der Handle wird das Signal an das Programm weiterleiten, so dass der benutzerdefinierte Signalhandler (in diesem Fall ein Crash-Handler) das Signal verarbeiten wird. Die Fortsetzung war etwas, was ich brauchte, damit die App tatsächlich ausgeführt wurde, sobald der Debugger gestartet wurde.

Es gibt einen unglücklichen Fehler in diesem, für den ich leider keinen Workaround kenne. Die ARM7-Version von GDB hat nicht den Befehl 'set dont_handle_bad_access' wie die Darwin-Version. Aus irgendeinem Grund funktioniert das Übergeben von EXC_BAD_ACCESS Signalen an das Programm nicht und die App hängt. Dies ist wichtig, da dies das Signal für die meisten Abstürze ist. Aber so wie es jetzt aussieht, ist es das Beste, was ich tun kann, und zumindest seine Handhabung von nicht abgefangenen Ausnahmen.

    
BlueVoid 17.07.2012, 18:55
quelle
2

Sie können tun, was Sie wollen, indem Sie fruitstrap oder Xcode verwenden, um ein "Bootstrap" -Programm zu starten, das bewirkt, dass Ihre Zielanwendung über eine benutzerdefinierte URL läuft, wie von Michael beschrieben.

Während das Bootstrap-Programm unter dem Debugger läuft, würde das URL-aufgerufene Programm normal laufen.

    
idz 17.07.2012 07:22
quelle
1

Ich glaube, Sie suchen vielleicht nach einer Art benutzerdefiniertem URL-Schema.

Sehen Sie sich das folgende Dokument an und scrollen Sie nach unten zu: Implementieren benutzerdefinierter URL-Schemas

Ссылка

Sie können auch googlen URL-Schemata in iOS, um zu sehen, ob Sie kommen über etwas ähnlich wie das, was Sie versuchen, zu tun.

Lass es mich wissen, wenn dir das weitergeholfen hat. Wäre interessant zu hören, ob Sie Erfolg hatten.

Prost.

    
Michael 16.07.2012 07:51
quelle

Tags und Links