質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

3360閲覧

let urls = fileManager.urls(for: .documentDirectory, in: .userDomainMask) as [URL] ここの引数の意義

kei1990s

総合スコア25

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2016/12/04 07:23

ここの.documentDirectoryと.userDomainMaskの役割として
僕の認識が適切でなければご指摘お願いしたいです

let urls = fileManager.urls(for: .documentDirectory, in: .userDomainMask) as [URL]

xcodeのデバッグエリアに表示されるのは
file:///Users/sister/Library/Developer/CoreSimulator/Devices/255042D4-3429-4F66-94F4-691559395152/data/Containers/Data/Application/FF57D127-482D-434C-AC1F-028C49819316/Documentsなんですが

  1. .documentDirectoryのおかげでfile:///Users/sister/Library/Developer/CoreSimulator/Devices/255042D4-3429-4F66-94F4-691559395152/data/Containers/Data/Application/FF57D127-482D-434C-AC1F-028C49819316/Documentsが作れる

2).userDomainMaskのおかげで一つ一つのディレクトリを他のディレクトリに影響されないで済む

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

userDomainMaskはそのアプリの使用できるHome directoryのパスを取得できます。
API Reference - userDomainMask

アプリ内で使用できる領域(フォルダ構成)については以下の記事が参考になると思います。
今こそ復習したい、iOSアプリのディレクトリ構成
iOS でファイル保存、読み込み

投稿2016/12/04 07:51

編集2016/12/04 07:53
_Kentarou

総合スコア8490

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei1990s

2016/12/04 08:51

the place to install user’s personal items ここでいうuser’s personal items ってなんのことなのでしょうか?
_Kentarou

2016/12/04 09:08

そのアプリ(使用するユーザー)に割当てられた使用できる領域のことだと思います。
kei1990s

2016/12/04 09:43

なるほど、となると .documentDirectory, の存在意義はなんなんでしょうか?
_Kentarou

2016/12/04 11:00

アプリの領域には初めから以下の3つのフォルダが作成されています。 ・Documents ・Library ・tmp そのうちのDocumentsフォルダのパスを取得しているという事です。
kei1990s

2016/12/04 12:59

file:///Users/sister/Library/Developer/CoreSimulator/Devices/255042D4-3429-4F66-94F4-691559395152/data/Containers/Data/Application/FF57D127-482D-434C-AC1F-028C49819316/Documents 最後に付加されるっていう認識でいいのでしょうか? また ここのLibraryはuserDomainMask側のフォルダという認識でいいのでしょうか
_Kentarou

2016/12/04 15:14

> 最後に付加されるっていう認識でいいのでしょうか? これはあっています。 最後に /Documents になっているのでそのフォルダを指しています。 > ここのLibraryはuserDomainMask側のフォルダという認識でいいのでしょうか これは違います、Simulatorでアプリ起動しているのでMacの該当の位置にアプリの領域が作成されています。MacのLIbraryは隠しファイルになっているのでそのままでは見ることはできません。 Finderのメニューから移動を選択 > shift を押してみてくださいライブラリという項目が増えると思います、それがパスの/Library の部分に当たります、その先をパスの通り辿って行くとSimulatorのアプリ領域にたどり着きます。
kei1990s

2016/12/04 23:18 編集

> ここのLibraryはuserDomainMask側のフォルダという認識でいいのでしょうか の回答のところでMacのLIbraryは隠しファイルになっているのでそのままでは見ることはできないとおっしゃっていますが、今現在見えているfile:///Users/sister/Library/Developer/Co,,,,,,,,の Libraryは何のことなのでしょうか?”Simulatorでアプリ起動しているのでMacの該当の位置にアプリの領域が作成されています”おそらくこの辺を深く理解できたら解決できそうなのですが、少し悩んでいます。お手数おかけしてすいません
_Kentarou

2016/12/04 23:48

前にコメントした以下の操作をして見て下さい、それでもアプリの領域が見つからなかったらまた聞いて下さい。 Finderのメニューから移動を選択 > shift を押してみてくださいライブラリという項目が増えると思います、それがパスのUsers/sister/Library の部分に当たります、その先をパスの通り辿って行くとSimulatorのアプリ領域にたどり着きます。
kei1990s

2016/12/05 00:54

確認できました file:///Users/sister/Library/→ここからDeveloper/CoreSimulator/Devices/255042D4-3429-4F66-94F4-691559395152/data/Containers/Data/Application/FF57D127-482D-434C-AC1F-028C49819316/Documents となると →ここからDeveloper/C...はuserDomainMask側のフォルダという認識でいいのでしょうか? もしそうなら > 最後に付加されるっていう認識でいいのでしょうか? これはあっています。 最後に /Documents になっているのでそのフォルダを指しています。 と昨日の20:00の質問の回答の際におっしゃていましたが .documentDirectoryと.userDomainMaskの役割分担がよくわからないです
_Kentarou

2016/12/05 04:17

わかりやすくいうとuserDomainMaskのパスは以下 file:///Users/sister/Library/Developer/CoreSimulator/Devices/255042D4-3429-4F66-94F4-691559395152/data/Containers/Data/Application/FF57D127-482D-434C-AC1F-028C49819316 documentDirectoryのパスはそれ以降の以下を指していると思ってよいのではないでしょうか? /Documents
kei1990s

2016/12/05 04:30

おおなるほど やっとわかりました 丁寧に説明していただきありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問