2013-03-11 2 views
0

Il existe un utilitaire de ligne de commande Cydia appelé open qui va ouvrir une application iOS et joindre au SpringBoard.iOS - Cydia commande ouverte et son homologue?

Y a-t-il une commande correspondante close 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 commande kill ne peut pas être utilisée car l'application ne parvient pas à capturer le signal.

J'ai recherché haute et basse pour cet outil de ligne de commande particulier mais encore de le trouver.

Merci.

+1

Est-ce que la réponse de Nate vous a aidé? Il est courant d'accepter la réponse ou de baliser et de donner une rétroaction appropriée. – newenglander

Répondre

0

Avez-vous essayé d'utiliser

killall MobileCydia 

devrait fonctionner

+1

killall fonctionne comme tuer. – user2155899

+0

Je suis à la recherche d'un outil de ligne de commande qui accepte une ligne de commande avec l'effet sain d'aller dans le sélecteur d'application en arrière-plan (double clic sur le bouton home) et de supprimer une application spécifique du sélecteur .Ce processus manuel semble envoyer un signal appTerminate à l'application, que la commande kill n'envoie pas. – user2155899

0

Je ne sais pas d'une telle commande, mais vous pouvez certainement construire un vous-même qui simule une pression sur le bouton d'accueil. Cela devrait fermer l'application ouverte de la manière normale. Ce n'est pas un kill anormal. Si l'application prend en charge le multitâche, elle passera en arrière-plan avec tous les rappels normaux UIApplicationDelegate en cours de route.

  1. Créez une application iOS non graphique. Il suffit de supprimer l'appel UIApplicationMain() sur main.m

  2. Liez votre application à GraphicsServices.framework. C'est un framework privé, donc dans la fenêtre de configuration de Xcode Build Phases, où vous choisissez normalement les frameworks à lier, vous ne le verrez pas dans la liste publique. Naviguez sur le système de fichiers jusqu'au dossier Private Frameworks (par exemple /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/PrivateFrameworks) et sélectionnez-le.

  3. Vous devrez générer des en-têtes pour GSEvent.h (et probablement GSWindow.h, #include). Here you can find a copy of both. Ajoutez-les à votre projet et #include GSEvent.h dans votre fichier 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 pour fermer l'application en cours (le code est exécuté à l'intérieur du UIApplication qui est au premier plan), ou une autre application ouverte (comme ce serait le cas pour la construction d'un utilitaire de ligne de commande).

Hattip à pour l'idée.

+0

PLZ ces travaux de code pour iOS7? – HDNZ

+0

@HDNZ, non, ce code a cessé de fonctionner sous iOS 7.0. – Nate

+0

thx pour votre réponse, plz il y a une autre alternative à cette – HDNZ

Questions connexes