Xcode 6 / iOS 8シミュレータデータおよびバンドルフォルダスクリプト



Answers

私は、CoreDataを使用して完全なパスを保存したときに同じ問題に直面しました。 フルパスを取得すると、アプリケーションが再起動するたびにドキュメントフォルダのUUIDが異なるため、nullが返されます。 以下は私の決断です:

  1. CoreDataにドキュメント/ファイルの相対パスのみを格納してください。 たとえば、 "/Users/yourname/.../Applications/UUID/Document/Files/image.jpg"の代わりに "Files / image.jpg"を保存します。
  2. 次のコマンドを使用して、アプリケーションドキュメントの場所を取得します。

    [[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];

  3. #2と#1の両方を連結して、検索するドキュメント/ファイルの完全なパスを取得します。
Apple Developer Note: https : //developer.apple.com/library/ios/technotes/tn2406/_index.htmlを参照してください。

Question

xcode 6の最新の変更により、.appファイルとドキュメントフォルダがiPhoneシミュレータディレクトリ内の同じフォルダに存在しなくなったように見えます。

以前は、ディレクトリと.appファイルにアクセスできました

/Users/me/Library/Application Support/iPhone Simulator/7.1/Applications/SomeCrpyticNumber

Xcode 6では、シミュレータのディレクトリは完全に異なります。

~/Library/Developer/CoreSimulator/Devices/CrypticNumber1/data/Containers/Bundle/CrypticNumber2/MyApp.app

そして

~/Library/Developer/CoreSimulator/Devices/CrypticNumber1/data/Containers/Data/CrypticNumber3/Documents    

CryptNumber 1,2、および3はすべて異なっています。 .appファイルを含むフォルダを見つけた後、対応するDocumentsフォルダを取得できる方法はありますか? 私はこれに問題があります。

なぜ...?

iOS 7シミュレータでアプリケーションを作成した場合、ドキュメントディレクトリと.appファイルは以前と同じフォルダにありますが、iOS 8はそれらを分けています。

私が今考えている唯一の解決策は、最新の作成/変更日を持つ2つのフォルダをペアにすることです。

編集:

このツールは、xcode 6のシミュレータフォルダを見つけるのに非常に便利です: http ://simpholders.com/




Links