前提
iOSアプリを開発中です。
UIDocumentPickerViewControllerでローカルファイルのURLを取得後、そのURLからDataオブジェクトを取り出そうと試みたのですがURLが存在しないというような旨のエラーで困っています
実現したいこと
iPhoneのローカルのURLからDataを取り出したい
発生している問題・エラーメッセージ
022-10-19 18:32:15.252262+0900 "AppName"[44179:2334980] Successfully load keyboard extensions
2022-10-19 18:34:44.025939+0900 "AppName"[44179:2336103] [AXRuntimeCommon] Unknown client: "AppName"
error
2022-10-19 18:34:46.006371+0900 "AppName"[44179:2336102] [AXRuntimeCommon] AX Lookup problem - errorCode:1100 error:Permission denied portName:'com.apple.iphone.axserver' PID:44203 (
0 AXRuntime 0x00000001bf54b024 _AXGetPortFromCache + 932
1 AXRuntime 0x00000001bf54d1d8 AXUIElementPerformFencedActionWithValue + 772
2 UIKit 0x000000021a69f284 3CB83860-AA42-3F9A-9B6E-2954BACE3DAC + 778884
3 libdispatch.dylib 0x0000000100cd0598 _dispatch_call_block_and_release + 32
4 libdispatch.dylib 0x0000000100cd204c _dispatch_client_callout + 20
5 libdispatch.dylib 0x0000000100cda0fc _dispatch_lane_serial_drain + 988
6 libdispatch.dylib 0x0000000100cdae24 _dispatch_lane_invoke + 420
7 libdispatch.dylib 0x0000000100ce7cac _dispatch_workloop_worker_thread + 740
8 libsystem_pthread.dylib 0x00000001e27b8df8 _pthread_wqthread + 288
9 libsystem_pthread.dylib 0x00000001e27b8b98 start_wqthread + 8
)
2022-10-19 18:34:46.006912+0900 "AppName"[44179:2336102] [AXRuntimeCommon] AX Lookup problem - errorCode:1100 error:Permission denied portName:'com.apple.iphone.axserver' PID:44203 (
0 AXRuntime 0x00000001bf54b024 _AXGetPortFromCache + 932
1 AXRuntime 0x00000001bf54d1d8 AXUIElementPerformFencedActionWithValue + 772
2 UIKit 0x000000021a69f284 3CB83860-AA42-3F9A-9B6E-2954BACE3DAC + 778884
3 libdispatch.dylib 0x0000000100cd0598 _dispatch_call_block_and_release + 32
4 libdispatch.dylib 0x0000000100cd204c _dispatch_client_callout + 20
5 libdispatch.dylib 0x0000000100cda0fc _dispatch_lane_serial_drain + 988
6 libdispatch.dylib 0x0000000100cdae24 _dispatch_lane_invoke + 420
7 libdispatch.dylib 0x0000000100ce7cac _dispatch_workloop_worker_thread + 740
8 libsystem_pthread.dylib 0x00000001e27b8df8 _pthread_wqthread + 288
9 libsystem_pthread.dylib 0x00000001e27b8b98 start_wqthread + 8
)
2022-10-19 18:34:46.007516+0900 "AppName"[44179:2336102] [AXRuntimeCommon] AX Lookup problem - errorCode:1100 error:Permission denied portName:'com.apple.iphone.axserver' PID:44203 (
0 AXRuntime 0x00000001bf54b024 _AXGetPortFromCache + 932
1 AXRuntime 0x00000001bf54d1d8 AXUIElementPerformFencedActionWithValue + 772
2 UIKit 0x000000021a69f284 3CB83860-AA42-3F9A-9B6E-2954BACE3DAC + 778884
3 libdispatch.dylib 0x0000000100cd0598 _dispatch_call_block_and_release + 32
4 libdispatch.dylib 0x0000000100cd204c _dispatch_client_callout + 20
5 libdispatch.dylib 0x0000000100cda0fc _dispatch_lane_serial_drain + 988
6 libdispatch.dylib 0x0000000100cdae24 _dispatch_lane_invoke + 420
7 libdispatch.dylib 0x0000000100ce7cac _dispatch_workloop_worker_thread + 740
8 libsystem_pthread.dylib 0x00000001e27b8df8 _pthread_wqthread + 288
9 libsystem_pthread.dylib 0x00000001e27b8b98 start_wqthread + 8
)
2022-10-19 18:34:46.017574+0900 "AppName"[44179:2334980] [DocumentManager] The view service did terminate with error: Error Domain=_UIViewServiceErrorDomain Code=1 "(null)" UserInfo={Terminated=disconnect method}
該当のソースコード
Swift
1func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL) { 2 3 do{ 4 try let data = Data(contentsOf: url) 5 }catch{ 6 print("error") 7 } 8 }
試したこと
ちなみに選択したファイルのURLは、file:///private/var/mobile/Library/Mobile%20Documents/com~ apple~CloudDocs/Downloads/girl.m4a です。
DocumentManegerでError Domainとしてnullが返ってきているので、FileManegerでどこまでのディレクトリが存在しているかを辿っていくと、Library/までは存在し、Mobile%20・・・からは存在していないとなったので%20のパーセントエンコードが問題なのかと思いパーセントデコードしたStringを絶対パスとしてURLにぶち込んだのですが結局URLに戻すとパーセントエンコードした状態に戻ってしまうので意味がなかったです。
補足情報(FW/ツールのバージョンなど)
何か補足説明が必要でしたら知らせてください。
あなたの回答
tips
プレビュー