Documentディレクトリのフルパスはビルドやアップデートの度に変更される事を知らずにハマってしまったので誰かの助けになればと思います。
##Documentディレクトリのフルパスを取得
let documentPath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0].absoluteString
##printしてみる
print(documentPath)
出力結果
file:///var/mobile/Containers/Data/Application/914B4E18-01A6-4538-9AD7-3B9887FE4B13/Documents
##次にビルドを再度行い、Documentディレクトリのフルパスをprintした結果
出力結果
file:///var/mobile/Containers/Data/Application/A5A17321-C158-4A5B-B8C7-5CF53F0C78EF/Documents
##パスのApplication下の数列を比べてみる
◆Application/914B4E18-01A6-4538-9AD7-3B9887FE4B13/Documents
◆Application/A5A17321-C158-4A5B-B8C7-5CF53F0C78EF/Documents
Application下の数列 |
---|
914B4E18-01A6-4538-9AD7-3B9887FE4B13 |
A5A17321-C158-4A5B-B8C7-5CF53F0C78EF |
ビルド(アップデート後)にこの数列が変更されているのがわかります。
##まとめ
Documentディレクトリのフルパスをそのまま保存してデータの呼び出しに使うと、ビルドする度にURL先が見つからないという問題が発生してしまいます。
なので、ファイル名だけ保存して、その都度Documentディレクトリのフルパスを取得して繋げるというやり方で対応しました。
もし、他に何かいい対策があれば教えてください🙇♂️