0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Swift】Documentディレクトリのフルパスはビルドやアップデートの度に変更される罠

Last updated at Posted at 2020-10-28

 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ディレクトリのフルパスを取得して繋げるというやり方で対応しました。

もし、他に何かいい対策があれば教えてください🙇‍♂️

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?