アクセスには、FileURLとFileパスを使用しての二つの方法がある。
・ファイルピッカーを使ってファイルURLを取得。
・Documents等の特定フォルダのパスが取得できるので内包フォルダ、ファイル名を付けてパスやURLを作る。
ただ、現在は直接Image()、AsyncImage()にパス、URL設定で画像表示ができない。
画像ファイルから画像データを作ってImageビューにセットしても表示できない。
面倒くさいけど逐次確認してみる。
ファイルピッカーからのURLを.absoluteString で確認すると
~/File Provider Storage/~.jpg
検索データベースか何か?【追記あり】
FileManager.default.fileExists(atPath) で存在を確認。
存在なし^^; (URL.absoluteString、URL.path)
ドキュメントピッカーを使ったので Documents フォルダのファイルと思っていたが違うのか?
FileManagerからドキュメントのURLを取得、~.jpgを連結させて存在を確認すると存在なし。
~/Documents/~.jpg
FileManager.default.fileExists(atPath)で存在確認ができない状態なので画像ファイルも画像表示できない。
アプリ内呼び出しではなく、標準ファイルアプリでは同じ名前の画像ファイルは開ける。
ファイルの情報でも所在が明確になっていない。”このiPad内”の表記で分からない。
WindowsもAndroidもファイルはパスで所在が明確になっているが、iPadOSは四次元ポケットから取り出すが如くその中には有るが明確な場所は分からないというもの。
そういう見方でアプローチを考えてみる。
【追記 9/11】
外部からの不正アクセスを防ぐサンドボックス構造というものでアクセス許可には「info.plist」にキー追加と設定が必要らしい。iPadOS用Swift では無理のよう。対象をコピーしてアプリ専用のフォルダにペーストして利用ができそうなので試してみる。後日。
【追追記 9/11】
チュートリアルの「イメージギャラリー」の「+」追加マークで「このiPad内」の画像を表示している。
今頃...だけど^^; この辺りを利用できれば問題なく表示できそう。