それが期待される動作であるかどうかはわかりません。
私は xcode 4.3.2 を持っていて、次のコードでデフォルトの Document ディレクトリを取得するアプリケーションを実行しています。
NSArray *dirPaths;
NSString *docsDirectory;
NSString *databasePath;
dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
docsDirectory = [dirPaths objectAtIndex:0];
databasePath = [[NSString alloc] initWithString: [docsDirectory stringByAppendingPathComponent: DBNAME]];
const char *dbpath = [databasePath UTF8String];
NSFileManager *filemgr = [NSFileManager defaultManager];
if ([filemgr fileExistsAtPath:databasePath] == NO) {
NSLog (@" GETDBPATHNAME: database file does not exist");
}
else {
NSLog (@" GETDBPATHNAME: Database File EXISTS");
}
ユースケース: 1) xcode でパスが同じになるたびにアプリケーションを実行します。2) デバイスを再起動し、xcode でアプリケーションを再実行します。パスも同じです。3)しかし、アプリケーションを削除し、パスが異なる場合に再実行します。それはどのように可能ですか?
次のようなパスを取得します。
/var/mobile/Applications/xxxxxxx-xxx-xxxx-xxx-xxxxxxxxxxx/Documents/
値 xxxxxxx-xxx-xxxx-xxx-xxxxxxxxxxx は電話の UUID であると主張しました。毎回どう違うの?
あなたの助けに感謝します。