iOS – Cydia command ouverte et son homologue?

Il y a un utilitaire de command line Cydia appelé open qui va ouvrir une application iOS et se connecter au SpringBoard.

Y a-t-il une command de close correspondante qui enverra le bon signal à l'application? Il doit envoyer le signal correct afin qu'il effectue le nettoyage nécessaire avant de terminer. La command kill ne peut pas être utilisée car l'application n'est pas capable d'attraper le signal.

J'ai cherché haut et bas pour cet outil de command line particulier mais encore pour le find.

Je vous remercie.

Avez-vous essayé d'utiliser

 killall MobileCydia 

devrait marcher

Je ne connais pas une telle command, mais vous pouvez certainement en build une vous-même qui simule une pression sur un button maison. Cela devrait fermer l'application ouverte de la manière normale. Ce n'est pas une kill anormale. Si l'application prend en charge le multitâche, elle passe en arrière-plan, avec tous les callbacks UIApplicationDelegate normaux en cours de route.

  1. Construire une application iOS non graphique. UIApplicationMain() simplement l'appel UIApplicationMain() de main.m

  2. Associez votre application à GraphicsServices.framework. C'est un framework privé, donc dans la window de configuration de Xcode Build Phases , où vous choisissez normalement les frameworks à lier, vous ne le verrez pas dans la list publique. Accédez au système de files dans le dossier /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/PrivateFrameworks privées (par exemple, /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/PrivateFrameworks ) et select-le.

  3. Vous devrez générer des en-têtes pour GSEvent.h (et probablement GSWindow.h, qu'il #include). Ici vous pouvez find une copy des deux . Ajoutez-les à votre projet et #include GSEvent.h dans votre file main.m

  4. Utilisez cette fonction:

 #include "GSEvent.h" - (void)simulateHomeButton { struct GSEventRecord record; memset(&record, 0, sizeof(record)); record.type = kGSEventMenuButtonDown; record.timestamp = GSCurrentEventTimestamp(); GSSendSystemEvent(&record); record.type = kGSEventMenuButtonUp; GSSendSystemEvent(&record); } 

Ce code devrait être utilisable comme méthode de fermeture de l'application actuelle (ie le code s'exécute dans l'UIApplication qui est au premier plan), ou une autre application ouverte (comme ce serait le cas pour build un utilitaire de command line).

Hattip à libActivator pour l'idée.