由于以下行中的代码中的nil值,导致应用程序崩溃:
if let strURL = (contentEditingInput!.audiovisualAsset as? AVURLAsset)?.url.absoluteString
在展开可选值时意外发现nil
func getUrlFromPHAsset(asset: PHAsset, callBack: @escaping (_ url: URL?) -> Void) {
asset.requestContentEditingInput(with: PHContentEditingInputRequestOptions(), completionHandler: { (contentEditingInput, dictInfo) in
if let strURL = (contentEditingInput!.audiovisualAsset as? AVURLAsset)?.url.absoluteString {
print("VIDEO URL: \(strURL)")
callBack(URL.init(string: strURL))
}
})
}
答案 0 :(得分:0)
只是一个猜测,但是这个隐式解包的可选内容是不安全的:contentEditingInput!
。那是零吗?将该行设置为:
if let strURL = (contentEditingInput?.audiovisualAsset as? AVURLAsset)?.url.absoluteString
否则,如果contentEditingInput
为nil,则展开时会崩溃。
为将来提供参考,请尝试提供有关崩溃发生的位置,相关代码以及所显示代码中使用的值的更多信息。