그러나충돌 나는 카메라 롤에서 일부 동영상로드 <code>PHCachingImageManager().requestAVAsset</code>을 사용하고
override func viewDidLoad() {
super.viewDidLoad()
print("SEGUE SUCCESSFUL")
view.backgroundColor = .black
avPlayerLayer = AVPlayerLayer(player: avPlayer)
view.layer.insertSublayer(avPlayerLayer, at: 0)
var asset2:AVAsset? = nil
PHCachingImageManager().requestAVAsset(forVideo: (vidLocation?[videoSender]!)!, options: nil, resultHandler: {(asset: AVAsset?, audioMix: AVAudioMix?, info: [AnyHashable : Any]?) in
asset2 = asset! as AVAsset
})
let playerItem = AVPlayerItem(asset: asset2!)
avPlayer.replaceCurrentItem(with: playerItem)
}
을 나는 그것이 PHCachingImageManager().requestAVAsset
줄에서 일시 정지와 쇼 프로그램을 실행하면
012 (녹색으로 강조 표시)스레드 1 : EXC_BREAKPOINT은
무슨 일이 일어나고 있는지 잘 모르겠습니다. 설명서에서 이해할 수있는 부분을 찾을 수 없습니다. 이 문제를 어떻게 해결할 수 있습니까?
호출에 대한 매개 변수 중 하나에 두 개의 강제 실행 취소 연산이 있습니다 ('(vidLocation? [videoSender]!)!)). 아마도 그들 중 적어도 하나는 무효 일 것입니다. 또한 크래시와 무관한데,'requestAVAsset'에 대한 완료 핸들러는 비동기 적이므로'playerItem'을 설정 한 코드를 * 수행 한 후에'asset2'는 항상 nil이됩니다. 당신이 그것을 사용하려고 할 때. – rickster