PHImageManager().requestAVAsset(forVideo: asset,
options: option,
resultHandler: { (avAsset, audioMix, info) in
if let tokenStr = info?["PHImageFileSandboxExtensionTokenKey"] as? String {
let tokenKeys = tokenStr.components(separatedBy: ";")
let urlStr = tokenKeys.filter { $0.contains("/private/var/mobile/Media") }.first
self.slowPath.append(urlStr!)
self.appendingFlag=false
}else{//cloud上videoはdeleteと登録して
self.slowPath.append("delete")
self.appendingFlag=false
}
//print(info as Any)
})
というコードでios13.1までは、実機にあるビデオのURLを取得できていましたが、
iPhoneをios13.2にバージョンアップしましたところ、動かなくなりました。
print(info as Any)で見てみますと。
Ios13
Optional([AnyHashable("PHImageResultRequestIDKey"): 1, AnyHashable("PHImageResultIsDegradedKey"): 0, AnyHashable("PHAdjustmentDataKey"): <PHAdjustmentData: 0x280ccbc90> identifier=com.apple.video.slomo version=1.1 data=0x283b38700 (200)])
Ios12
Optional([AnyHashable("PHImageFileSandboxExtensionTokenKey"): bb942cf34854c3b049c8049e4b03300d168c876a;00;00000000;00000000;00000000;000000000000001b;com.apple.avasset.read-only;01;01000003;000000010125916f;01;/private/var/mobile/Media/DCIM/104APPLE/IMG_4145.MOV, AnyHashable("PHImageResultWantedImageFormatKey"): 20002, AnyHashable("PHAdjustmentDataKey"): <PHAdjustmentData: 0x2803f23d0> identifier=com.apple.video.slomo version=1.1 data=0x2803f2be0 (200), AnyHashable("PHImageResultDeliveredImageFormatKey"): 20000, AnyHashable("PHImageResultIsInCloudKey"): 0])
となって、URLが見れないようです。
どう対処したらよいでしょうか。よろしくお願い申し上げます。
asset.value(forkey:"filename")でfile名までは取得できるようですが、URLを取得する方法が分かりません。
なにとぞ、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー