- (void)videoPickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<UIImagePickerControllerInfoKey,id> *)info
iOS 13と他のiOSでは異なるURLを返します。
なぜこれが起こっているのでしょうか?
iOS 13:
file:///private/var/mobile/Containers/Data/PluginKitPlugin/0849234B-837C-43ED-BEDD-DE4F79E7CE96/tmp/trim.B8AB021D-F4B6-4E50-A93C-8B7F7FB40A1C.MOV
<iOS 13:
file:///private/var/mobile/Containers/Data/Application/5AE52A95-6A2F-49A5-8210-D70E022E9A05/tmp/5A8D81B5-FC42-4228-9514-CD998A4E7FA9.MOV
PluginKitPlugin
フォルダーに対する権限がないため、エラーが発生しました。
どちらの場合も、imagePicker
を使用して動画を選択しています。
私がiOS 13でこのパスを使用して権限の問題を経験したことから収集したものから、ピッカーは別のアプリ(独自の権限を持つ)であるため、iOS 13でより明示的になりました。アプリではなく一時ディレクトリ。
私たちにとって、コードは指定されたパスが一時ディレクトリであると想定していました。 NSTemporaryDirectoryへの明示的なキャッシュに切り替えました。