【问题标题】:CIFilter.outputImage is nil?CIFilter.outputImage 为零?
【发布时间】:2021-07-04 10:32:18
【问题描述】:

当我在两台MAC PC上运行以下命令时,一个是OK,一个是NG,所以我不知道如何解决这个问题,如果你知道原因,请给我一些想法。

注意:我发现了一些类似的问题,但它们几乎与从 CIImage 转换为 UIImage 时的进程时序有关。所以我认为这个问题可能与他们不同。

IOS版本:11

    let barCode : String = "BPWE-12-WBTDJ-23WES-9F7D9"
    let data = barCode.data(using: .utf8)
    guard let filter = CIFilter(name: "CICode128BarcodeGenerator") else {
        return
    }
    filter.setValue(data, forKey: "inputMessage")
    guard let ciImage = filter.outputImage else {   //here is nil
        return
    }

【问题讨论】:

  • 你确定 data 有时不是 nil 吗?也许字符串不是有效的 utf8?
  • 无法复制您的问题。您的 ciImage 不是 nil。我猜您的问题是当您尝试从中获取 PNG 或 JPEG 数据表示时返回 nil

标签: swift null cifilter ciimage


【解决方案1】:

我已经得到了答案。 首先,我需要向大家说声对不起,因为我犯了一个错误,我的两台MAC PC之间的变量barCode略有不同,一个是使用UIDevice.current.identifierForVendor!.uuidString分配的。 如您所知,在模拟器上运行时,它可能无法正常运行,当然,它可以在真实的 iPad 或 iPhone 上运行。

所以当我更改变量 barCode 的值而不是使用 UUID 时,我解决了问题。

谢谢大家。

【讨论】:

    猜你喜欢
    • 2021-10-11
    • 1970-01-01
    • 2015-01-21
    • 2016-02-10
    • 2017-02-12
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多