最近、XCode + Swiftで iOSアプリ開発はしてましたが、OS Xアプリは開発したことなかったのでメモ。
プロジェクト作成
Core Dataを使用したアプリは、iOSアプリ開発と同じように、新規プロジェクト作成時に Core Data にチェック入れてやれば簡単にできました。
実行ファイル(test-osx.app)の場所
ビルド、実行はできるが、ビルド結果がどこにできるのよくわからなかった・・・
Build Locations て項目見てもよくわからんし・・・
findコマンドで test-osx.app 探しました。
~/Library/Developer/Xcode/DerivedData/test-osx-hafrwjhefqwrtqcqsdhjxmcubqyf/Build/Products/Debug/test-osx.app
~/Library/Developer/Xcode/DerivedData/
ここにプロジェクトごとに作成されるようです。
Core Data のDBファイル(CocoaAppCD.storedata)の場所
iOSアプリでは、Core DataのDBファイルは、◯◯.sqlite3 でしたが、
OS Xアプリでは、CocoaAppCD.storedata というファイルのようです。
コードでファイルパスを出力させました。
~/Library/Application Support/test.test_osx/CocoaAppCD.storedata
~/Library/Application Support/ プロジェクト名 / にできるようです。
// Create the coordinator and store
var coordinator: NSPersistentStoreCoordinator? = nil
if failError == nil {
coordinator = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)
let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("CocoaAppCD.storedata")
do {
try coordinator!.addPersistentStoreWithType(NSXMLStoreType, configuration: nil, URL: url, options: nil)
} catch {
failError = error as NSError
}
//76行目
print(url) // 追加!!!これでパス出力する
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
// Mac上のsqliteファイルの確認用
let coodinator = (NSApplication.sharedApplication().delegate as! AppDelegate).persistentStoreCoordinator
print(coodinator)
}