2013-03-06 25 views

Antwort

4

Der einzige Weg ist, es manuell zu löschen. Es gibt keine Möglichkeit, dass xcode die App von einem Gerät löscht, bevor es jedes Mal ausgeführt wird, wenn Sie das gefragt haben. Tut mir leid, es wäre ein großartiges Feature, aber im Moment gibt es keine Möglichkeit, das zu tun. Nicht einmal auf dem Simulator.

Ich denke, Sie sollten eine Fehler/Feature-Anfrage mit Apple obwohl! Diese Funktionalität würde mir nützlich sein!

2

Wie HackyStack, denke ich, dass Sie die App manuell löschen müssen. Das heißt, Sie könnten eine Debug-Startmethode haben, die den Inhalt löscht, der während der Installation nicht überschrieben wird. Zum Beispiel eine Methode, die den Inhalt des Dokumentenverzeichnisses, Schlüsselbundelemente, die mit der App verknüpft sind, iCloud KV-Informationen und Dokumente usw. entfernt. Es wäre ein bisschen mühsam, aber könnte Sie dahin bringen, wohin Sie gehen möchten ....

3

Zum Erstellen eines Xcode-Buildskripts zum Beenden des Simulators müssen Sie den Inhalt des Simulator-Anwendungsverzeichnisses löschen. Das Verzeichnis ist

~/Library/Application Support/iPhone Simulator/6.1/Applications/ 
+0

Gute Idee, aber ich brauche es aus dem Gerät – giorashc

5

XCode keine Option bieten, um automatisch die App aus dem Gerät jedes Mal entfernen Sie es laufen, aber der einfache Weg ist das ‚Gerät‘ Bildschirm zu verwenden, um es in einem einzigen Klick zu entfernen.

Link to the Apple documentation

3

Nein, es gibt keine Möglichkeit, App automatisch zu löschen.

Aber man kann eine einfache Funktion zu reinigen alle App-Ressourcen aus dem letzten Lauf wie folgt schreiben:

 
- (void)cleanUp { 
    NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier]; 
    [[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain]; 

    [MagicalRecord saveWithBlockAndWait:^(NSManagedObjectContext *context) { 
     [[NSManagedObjectModel MR_defaultManagedObjectModel].entities enumerateObjectsUsingBlock:^(NSEntityDescription *entityDescription, NSUInteger idx, BOOL *stop) { 
      [NSClassFromString([entityDescription managedObjectClassName]) MR_truncateAllInContext:context]; 
     }]; 
    }]; 
} 
+0

gelöscht werden: Wo soll ich das sagen? Am Anfang von viewDidLoad()? – Andrej

+2

@Andrej, rufen Sie diese Methode in Ihrem AppDelegate direkt nach der Zeile [MagicalRecord setupCoreDataStack] auf. Beachten Sie jedoch, dass Sie alle Daten manuell löschen müssen, die Ihre App ** irgendwo schreiben könnte. –

3

Ja, Sie können.

Get https://github.com/libimobiledevice/ideviceinstaller

, die Ihnen die Fähigkeit bringt ideviceinstaller --uninstall <app-id> in der Bash-Umgebung zu verwenden.

tut dann einen Skript in Ihrer Build-Konfiguration in Xcode, wie zum Beispiel: http://www.runscriptbuildphase.com/

+0

Lassen Sie mich hinzufügen, dass die einfache Installation von ** ideviceinstaller ** darin besteht, den Anweisungen in [macappstore.org/ideviceinstaller] (http://macappstore.org/ideviceinstaller/) zu folgen. – SirEnder

+0

Auch, wenn Sie ' --uninstall 'Befehl, Sie erhalten Fehler: **" Konnte nicht mit lockdown.Exits schließen. "**, dann besuchen Sie: [github.com/libimobiledevice/ideviceinstaller/issues/58](https://github. com/libimobiledevice/ideviceinstaller/issues/58) – SirEnder

Verwandte Themen