iPhoneシミュレーター用にビルドするときにxcodeがアプリをデプロイするディレクトリをクリーンアップする簡単な方法はありますか? 必要に応じて、起動時に Documents フォルダーにコピーされる sqlite データベースがあります。問題は、スキーマを変更する可能性がありますが、新しいデータベースが既に存在するため、コピーされないことです。
理想的には、ビルドするたびに、以前のコンテンツを破壊します。これは可能ですか、それとも手動で行う必要がありますか?
iPhoneシミュレーター用にビルドするときにxcodeがアプリをデプロイするディレクトリをクリーンアップする簡単な方法はありますか? 必要に応じて、起動時に Documents フォルダーにコピーされる sqlite データベースがあります。問題は、スキーマを変更する可能性がありますが、新しいデータベースが既に存在するため、コピーされないことです。
理想的には、ビルドするたびに、以前のコンテンツを破壊します。これは可能ですか、それとも手動で行う必要がありますか?
Apples Dev Resources から:
シミュレーターのユーザー コンテンツと設定を工場出荷時の状態に設定し、インストールしたアプリケーションを削除するには、 [デバイス] > [すべてのコンテンツと設定を消去]を選択します。
(古いバージョンの場合: iPhone シミュレーター > コンテンツと設定をリセットします。)
シミュレーターはアプリを次の場所にインストールします。
"$HOME/Library/Application Support/iPhone Simulator/User/Applications"
また、チェックしてください:
"$HOME/Library/Developer/CoreSimulator/Devices"
GUID ファイルとディレクトリは、シミュレーターにインストールされているアプリと一致します。
これらのファイル/ディレクトリをすべて手動で削除して、シミュレーターからすべてのアプリケーションを削除します。
XCode のビルド プロセスにスクリプトを追加する方法があることは知っています。
また、XCode が各ビルドを使用する GUID を変更するように見えるため (私のアプリが配置されているディレクトリは XCode のビルド間で変更されます)、常に同じディレクトリを削除しようとしても機能しません。一度に 1 つのアプリのみで作業している場合は、ディレクトリ全体をクリアすることもできます。
Mac OS X Lion の iOS 5 以降では、次のことを試すことができます。
RemoveSimulatorApps.command
以下を含むスクリプトを作成します。rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Applications/*"
PATH
。chmod +x RemoveSimulatorApps.command
やり過ぎかもしれませんが..
メニューと「コンテンツと設定をリセット...」を使用することもできます
Xcode >= 6 の場合
xcrun simctl list | grep -oh '[A-Z0-9]\{8\}-[A-Z0-9]\{4\}-[A-Z0-9]\{4\}-[A-Z0-9]\{4\}-[A-Z0-9]\{12\}' | xargs -n1 xcrun simctl erase
Xcode 6以降:
xcrun simctl erase <sim udid>
<- シミュレータをリセットします。
検証済みの回答の下のコメントで説明していたように:
カレンダーのサブスクリプションの追加と削除をテストしていました。実際のデバイスでは、 [設定]の [アカウント]でカレンダーのサブスクリプションを削除できますが、このメニューは iOS シミュレーターには存在せず、シミュレーター全体をリセットしたくありませんでした。
そのため、git を使用してDeviceフォルダーをローカルでバージョン管理し、次のコマンドを実行して、追加したカレンダー サブスクリプションを削除しました。
$ git reset HEAD --hard
$ git clean -f
したがって、手順は次のとおりです。
~/Library/Developer/CoreSimulator/Devices/
しcd
てそれを実行git init
し、git リポジトリを作成しますgit commit -a "Message"
git reset --hard HEAD
git commit
がなくなります。XCode で、[ウィンドウ] メニュー オプションに移動し、[デバイス] を選択すると、不要になったデバイスを削除できます。
Xcode <= 5 の場合
私は私の~/.bash_profile
alias cleansim='rm -r ~/Library/Application\ Support/iPhone\ Simulator/5.1/Applications/*'
SIM上のすべてのアプリを破壊するだけです。