Bundle.main.path(forResource:) でフルパスが取得できます。
フォルダ(Data)は関係ありません。
Swift
1 if let path = Bundle.main.path(forResource: "data", ofType: "txt") {
2 do {
3 let text = try String(contentsOfFile: path)
4 print(text)
5 } catch {
6 print("read error")
7 }
8 } else {
9 print("no bundle file")
10 }
11
Dataが黄色アイコンになっています。黄色の場合はグループとして組み込まれているため、
ビルドした時はルート配置なります。そのためバンドルのフルパスを取得する時は
フォルダ名を指定する必要がありません。
Add Filesで組み込むとき、「Create groups」を選択するとグループになります。
「Create folder references」を選択するとフォルダを維持して組み込みます。
この場合は黄色ではなく青色アイコンになります。
青色アイコンの場合はフォルダ階層も維持してビルドするため、
Swift
1if let path = Bundle.main.path(forResource: "Data/data", ofType: "txt") {
2
Bundle.main.path(forResource:)でもフォルダまで指定する必要があります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。