1

iOS 開発を行っているときに、次のファイルを開くと便利です。

/Users/disappearedng/Library/Application Support/iPhone Simulator/6.1/Applications/B957F50E-CF57-4797-AA14-C580F5596E56/Documents/MyApp.sqlite

現在、bash_profile に次のエイリアスがあります。

alias cdi='cd /Users/disappearedng/Library/Application\ Support/iPhone\ Simulator/6.1/Applications'

ここで停止しなければならない理由は、iOS シミュレーターにアプリを新しくインストールするたびに、ハッシュ B957F50E-CF57-4797-AA14-C580F5596E56 が変更されるためです。

bash_profile のコマンドに次のようにエイリアスできるように、これをエイリアスする良い方法を誰かが知っていますか?

'/Users/disappearedng/Library/Application Support/iPhone Simulator/6.1/Applications/<any-hash>/Documents/*.sqlite'

has にワイルドカードを使用しようとしましたが、フォルダーに .DS_Cache ファイルが存在するため、これが失敗しました。

4

4 に答える 4

2

これは明らかに、シミュレーターで実行するときに開発中に必要なものにすぎません。アプリを起動して、ファイルへのパスを取得してから、ホームディレクトリにあるファイルへのパスを書き込んでみませんか。.bash_profileこのファイルをソースするようにを更新します。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
#if TARGET_IPHONE_SIMULATOR
    NSString *sqlitePath = ... // path to the Documents folder
    NSString *command = [NSString stringWithFormat:@"alias cdi='cd %@'", sqlitePath];
    [sqlitePath writeToFile:@"/Users/disappearedng/.sqlitePath" atomically:YES encoding:NSUTF8StringEncoding error:nil];
#endif
}

次に、あなたの中.bash_profileで、次のことを行います。

. ~/.sqlitePath
于 2013-02-26T21:32:00.013 に答える
0

どうですか:

find /Users/disappearedng/Library/Application Support/iPhone Simulator/6.1/Applications/.{38}/Documents/MyApp.sqlite | xargs <your_text_editor>
于 2013-02-26T21:09:16.780 に答える
0

一致するディレクトリが複数あり、最新のディレクトリを入力する場合は、次のスクリプトを使用します。

cd "$(find "/Users/disappearedng/Library/Application Support/iPhone Simulator/6.1/Applications/" -name '*.sqlite' -type d -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" ")"
于 2013-02-26T21:10:21.460 に答える
0

shell パラメータに追加.DS_Cacheしてみてください。FIGNOREそうすれば、ワイルド カードは 1 つのディレクトリだけに一致するはずであり、cd引き続き機能します。あなたの.bashrcファイルで:

# To avoid adding .DS_Cache multiple times, just to be safe
[[ $FIGNORE =~ .DS_Cache ]] || FIGNORE="$FIGNORE:.DS_Cache"
于 2013-02-26T22:04:50.430 に答える