选择视频时,UIImagePickerController在iOS 10.3中崩溃

时间:2017-03-05 15:19:22

标签: ios swift crash uiimagepickercontroller

所以我正在做我已经写过数百次的非常简单的图像选择器。为此我写了这个非常简单的扩展:

extension UIImagePickerController {

    func present(over controller: UIViewController,
                 with source: UIImagePickerControllerSourceType,
                 mediaTypes: [String]? = nil) {

        DispatchQueue.main.async {
            self.allowsEditing = true
            self.sourceType = source
            if source == .camera {
                self.cameraDevice = .front
            }
            self.modalPresentationStyle = .popover
            self.mediaTypes = mediaTypes ?? UIImagePickerController.availableMediaTypes(for: source) ?? []
            controller.present(self, animated: true, completion: nil)
        }
    }
}

它完美无缺。这当然是在您选择视频之前。 一旦你选择了一个视频,我就会得到一个堆栈跟踪的美感:

BEAUTIFUL!!!!!

在你问之前。是的,我已在Info.plist中设置了所有隐私设置:

NSPhotoLibraryUsageDescription NSMicrophoneUsageDescription NSCameraUsageDescription

这可能是10.3中的Beta问题吗?我希望如此;)不是

编辑:我设法在另一台设备上对此进行了测试,但它与测试版没有任何关系。

到目前为止,我最好的竞争者是:

  • 我把事搞砸了(很有可能)
  • 其他(可能是依赖项)正在注册错误的通知

1 个答案:

答案 0 :(得分:1)

经过几小时和几小时后我发现了这个问题。事实证明,项目中有人认为写这个是个好主意:

        NotificationCenter.default.addObserver(forName: nil,
            object: nil,
            queue: nil) { note in

                // Some strange code we were not using anymore
                // Mainly logging all activity made as Notifications
        }

他只想要更多日志。 这似乎很糟糕:

  • AVPlayer中的一些C ++例外
  • 使用网址
  • 获取本地AVAssets

非常感谢,无论如何;)

是时候让Git Blame投入使用了!