苹果 ARKit 示例代码

Apple ARKitExample Code

我刚刚下载了 ARKitExample Projekt(Placing Objects)。不幸的是有一些错误。我是 swift 的新手,所以我不知道如何修复它们。有人可以帮帮我吗? 我不断收到错误消息(文件:Utility.swift):

Nil 与预期的参数类型“[String: Any]”不兼容

代码:

extension UIImage {
    func inverted() -> UIImage? {
        guard let ciImage = CIImage(image: self) else {
            return nil
        }
        return UIImage(ciImage: ciImage.applyingFilter("CIColorInvert", withInputParameters: nil))
    }

return UIImage 是问题所在。最后一个参数:"withInputParameters: nil"就是问题所在

从 iOS 11 开始,CIImage applyingFilter(_:withInputParameters:) 方法的签名似乎发生了变化。

它是:

func applyingFilter(_ filterName: String, withInputParameters params: [String : Any]?) -> CIImage

现在(截至 iOS 11):

func applyingFilter(_ filterName: String, parameters params: [String : Any]) -> CIImage

由于您使用的是 ARKit,因此您必须使用 iOS11,因此您需要将代码更改为:

extension UIImage {
    func inverted() -> UIImage? {
        guard let ciImage = CIImage(image: self) else {
            return nil
        }
        return UIImage(ciImage: ciImage.applyingFilter("CIColorInvert", parameters: [:]))
    }
}