2013-03-06 92 views

回答

4

唯一的方法是手動刪除它。如果這是您要求的,那麼在每次運行之前,都無法讓xcode從設備中刪除應用程序。對不起,這將是一個很棒的功能,但現在,沒有辦法做到這一點。甚至不在模擬器上。

我認爲你應該向蘋果提出一個錯誤/功能要求!該功能對我來說非常方便!

2

像HackyStack,我認爲你必須手動刪除應用程序。也就是說,您可以使用調試啓動方法來清除安裝期間未覆蓋的內容。例如,刪除文檔目錄的內容,與應用程序相關的鑰匙串項目,iCloud KV信息和文檔等的方法。這將是一種痛苦,但可能讓你想要去的地方....

3

如何創建Xcode構建腳本來退出模擬器,然後刪除模擬器應用程序目錄的內容。該目錄是

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

好主意,但我需要從設備 – giorashc 2013-03-07 09:11:20

5

的XCode沒有爲每次運行時從設備中自動刪除該應用程序提供了一個選項,但最簡單的方法是使用「設備」屏幕中點擊將其刪除。

Link to the Apple documentation

3

沒有,有沒有辦法自動刪除應用程序。

但你可以寫一個簡單的函數從這樣的一次運行清理所有應用資源:

 
- (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

我應該在哪裏把這個刪除?在viewDidLoad()開頭? – Andrej 2015-08-29 13:09:26

+2

@Andrej,在'[MagicalRecord setupCoreDataStack]'行後面的AppDelegate中調用這個方法。但請注意,您必須手動清理您的應用**可能**寫入某處的所有數據。 – 2015-08-31 05:01:41

3

當然可以。

獲取https://github.com/libimobiledevice/ideviceinstaller

這使您在bash的環境中使用ideviceinstaller --uninstall <app-id>的能力。

然後做一個腳本在Xcode中的生成配置,如:http://www.runscriptbuildphase.com/

+0

讓我補充一點,安裝** ideviceinstaller **的簡單方法是遵循[macappstore.org/ideviceinstaller](http://macappstore.org/ideviceinstaller/) – SirEnder 2017-03-28 02:34:20

+0

中的說明。另外,如果您在運行' --uninstall'命令,您碰巧遇到錯誤:**「無法連接到lockdownd。退出。」**,然後訪問:[github.com/libimobiledevice/ideviceinstaller/issues/58](https://github。 COM/libimobiledevice/ideviceinstaller /問題/ 58) – SirEnder 2017-03-28 03:17:24

相關問題