2017-07-14 3 views
2

Ich habe gerade das ARKitExample Projekt (Platzieren von Objekten) heruntergeladen. Leider gibt es einige Bugs. Ich bin neu zu schnell, also weiß ich nicht, wie man sie repariert. Könnte mir jemand helfen? Ich erhalte den Fehler (Datei: Utility.swift):Apple ARKitBeispiel Code

Nil mit erwarteten Argumenttyp nicht kompatibel ist '[String: Alles]'

Code:

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

Die Rückkehr UIImage ist das Problem. Der letzte Parameter: "withInputParameters: nil" ist das Problem.

Antwort

9

Es scheint, die Signatur für die CIImage applyingFilter(_:withInputParameters:) Verfahren wie von IOS 11. geändert

Es war:

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

es jetzt ist (wie von IOS 11):

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

Seit Sie spielen mit ARKit Sie müssen iOS 11 verwenden, so dass Sie Ihren Code ändern müssen:

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

Vielen Dank. Das hat das Problem behoben. – CoderOfTheForce

+0

Es hat nicht funktioniert, ich habe den Code geändert in: func inverted() -> UIImage? { Wache lassen ciImage = CIImage (Bild: Selbst-) else { return null } let invertiert = ciImage.applyingFilter ("CIColorInvert", withInputParameters: [:]) return UIImage (CGImage: CIContext (Optionen: nil) .createCGImage (invertiert, von: inverted.exentent)!) } –