【问题标题】:'Lost Connection' Randomly Occurring Swift“失去联系”随机发生迅速
【发布时间】:2017-09-01 15:14:52
【问题描述】:

我的应用正在获取 CoreData 字符串和 uiimages。我还在捕捉相机的实时信息并将其显示在 UIView 上。随机设备“丢失连接”。我检查了内存和 CPU 使用情况,似乎没有任何问题。

我偶尔会收到这些打印输出警告

收到内存警告。

_BSMachError: (os/kern) 无效名称 (20)

_BSMachError: (os/kern) 无效名称 (15)

通讯错误:{ count = 1, 内容 = "XPCErrorDescription" => { 长度 = 22、contents="连接中断" } }>

我已尝试按照广泛的建议将 Info.plist 中的本地化本地开发区域设置为美国,但不是运气。

我正在我的测试设备 (iPod) 上运行 Xcode 9 BETA 和 iOS 10。

【问题讨论】:

  • 尽可能避免使用 Beta 版本。我遇到这个问题是因为我的设备消耗了太多内存(它只发生在旧设备上,而不是最近的设备上),我认为 iPad 可能有问题。
  • 所有 CD 和相机活动都应该在后台线程上 - 不要阻塞主线程。
  • @DavidH 如果我没有指定在主线程中执行它会自动在后台执行还是我需要指定

标签: ios xcode


【解决方案1】:

我拍摄照片的方式返回了非常高质量的图像(1000 像素)。因此,当我在 prepareForSegue 中传递图像并使用 Core Data 保存它时,设备会过载。

所以我使用这段代码来减小图像的大小并且效果很好。

func resizeImage(image: UIImage, newWidth: CGFloat) -> UIImage {
    let scale = newWidth / image.size.width
    let newHeight = image.size.height * scale
    UIGraphicsBeginImageContext(CGSize(width: newWidth, height: newHeight))
    image.draw(in: CGRect(x: 0,y: 0,width: newWidth,height: newHeight))
    let newImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    return newImage!
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-19
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多