Xcode(4.6)に、インストールする前にデバイス上のアプリケーションを削除する方法はありますか?
テスト目的で必要です。アプリケーションをデバイスから削除してから再度インストールすると、より簡単になります。
はい、できます。
https://github.com/libimobiledevice/ideviceinstallerを取得します
ideviceinstaller --uninstall <app-id>
これにより、bash 環境で使用できるようになります。
次に、xcode のビルド構成で次のようなスクリプトを実行します。http://www.runscriptbuildphase.com/
唯一の方法は、手動で削除することです。それがあなたが求めていたものである場合、毎回実行する前に xcode がデバイスからアプリを削除する方法はありません。申し訳ありませんが、それは素晴らしい機能ですが、今のところ、それを行う方法はありません。シミュレーターでもありません。
ただし、アップルにバグ/機能リクエストを提出する必要があると思います! その機能は私にとって便利です!
Xcode ビルド スクリプトを作成して Simulator を終了し、Simulator Applications ディレクトリの内容を削除してみてはいかがでしょうか。ディレクトリは
~/Library/Application Support/iPhone Simulator/6.1/Applications/
いいえ、アプリを自動的に削除する方法はありません。
ただし、次のように、最後の実行からすべてのアプリ リソースをクリーンアップする単純な関数を作成できます。
- (ボイド)クリーンアップ { 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]; }]; }]; }
HackyStack と同様に、手動でアプリを削除する必要があると思います。そうは言っても、インストール中に上書きされないコンテンツをクリアするデバッグ起動メソッドを使用できます。たとえば、ドキュメント ディレクトリの内容、アプリに関連付けられたキーチェーン アイテム、iCloud KV 情報とドキュメントなどを削除するメソッドです。これはちょっと面倒ですが、目的の場所に移動できる可能性があります....
Update 2021 (macOS 11.2.3、Xcode12.4):ビルド フェーズmobiledevice uninstall_app com.example.bundleid
に を追加する必要があります
動作するソリューション macOS 10.15.2、Xcode11.3、iOS13.3 (iPhone XS)、iOS12.4.4 (iPhone 5S)
brew install mobiledevice
( https://github.com/imkira/mobiledevice )mobiledevice uninstall_app com.example.bundleid