0
私はXCodeのプレイグラウンドを通していくつかのsqliteデータベース呼び出しをテストしようとしています。私はプレイグラウンドのResourcesフォルダーにあるデータベースから始め、それをPlaygrounds Documentsフォルダーに移動しようとしますが、リソースフォルダー内のファイルを指すシンボリックリンクが生成され、そのファイルに書き込めません。しかし、Documentsフォルダがどこにあるのか分かり、そこから手作業でファイルをコピーすると、すべて正常に動作します。xCodeプレイグラウンドと文書へのファイルの書き込み
なぜファイルマネージャのコピーコマンドは実際にコピーするのではなく、シンボリックリンクを作成するのですか?実際にこれを実現させる方法はありますか?それは遊び場だけの問題であるようです。リソースからドキュメントへのコピーはアプリ自体でうまくいきます。
...遊び場内
let dirPaths = NSSearchPathForDirectoriesInDomains(.documentDirectory,.userDomainMask, true)
let docsDir = dirPaths[0]
let destPath = (docsDir as NSString).appendingPathComponent("/data.sqlite")
print(destPath)
let fileMgr = FileManager.default
let srcPath = Bundle.main.path(forResource: "data", ofType:"sqlite")
// This copies the data.sqlite file from Resources to Documents
// ** However in the playground, only a symlink is generated
do {
try fileMgr.copyItem(atPath: srcPath!, toPath: destPath)
} catch let error {
print("Error (during copy): \(error.localizedDescription)")
}