【问题标题】:UIImagePickerController Crash in iOS 10.3 when Selecting Video选择视频时,iOS 10.3 中的 UIImagePickerController 崩溃
【发布时间】:2017-03-05 15:19:21
【问题描述】:

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

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)
        }
    }
}

而且效果很好。当然,直到您选择一个视频。 只要你选择了一个视频,我就会得到堆栈跟踪的这种美感:

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

NSPhotoLibraryUsageDescription NSMicrophoneUsageDescription NSCameraUsageDescription

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

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

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

  • 我搞砸了(很大可能)
  • 其他东西(可能是依赖项)正在注册错误通知

【问题讨论】:

  • 嗯,确定它是否是 10.3 问题的简单方法是在运行非 beta iOS 版本的设备上进行尝试。你能做到吗?
  • @dfd 并非没有降级。我手头只有一台设备。而且我希望它在测试版上使用 Swift 3.1... 我只是想看看在降级和以后再次升级之前是否有人遇到过这个问题;)
  • 我设法让朋友测试它,它与测试版无关......
  • 嗯,好消息是双重的 - 您知道您可以排除 10.3,并且您可能可以在您的设备上调试它。我的建议是退出您的扩展程序中的内容......然后慢慢将它们重新添加。(甚至可能在没有覆盖的情况下开始。)我个人根本不使用 Dispatch 所以这将是我的第一个焦点。愚蠢的问题......你是不是想在后台线程上做一些与 UI 相关的事情?祝你好运。
  • 我解决了这个问题。与我的代码无关。其他人决定记录所有通知。搞砸了一切

标签: ios swift crash uiimagepickercontroller


【解决方案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++ 异常
  • 使用 URL 获取本地 AVAssets

还是非常感谢;)

是时候使用 Git Blame 了!

【讨论】:

    猜你喜欢
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    相关资源
    最近更新 更多