1

我在我的项目中使用https://github.com/kuapay/iOS-QR-Code-Generator上的 QR 码创建项目。我完全按照说明添加了它。

我可以在我的测试设备上编译和运行该项目,没有任何问题,但是当我尝试存档它时,我收到以下错误:

Path/to/project/Barcode.mm:67:33: 没有匹配函数调用 'CGImageCreateWithMaskingColors'

我正在把头发拉出来。这是调用它的代码片段以及它正在使用的变量声明。

CGImageRef rawImageRef = image.CGImage;

const float colorMasking[6] = {222, 255, 222, 255, 222, 255};

UIGraphicsBeginImageContext(image.size);
CGImageRef maskedImageRef = CGImageCreateWithMaskingColors(rawImageRef, colorMasking);
4

2 回答 2

13

我知道提问者找到了他的答案,但我的问题是发布版本应该是 NO。因为我们也想要非活动架构!

问题在于 XCode 在新的 XCode 5.1(5B130a) 中使用 64 位版本对类型更加严格。CGImageCreateWithMaskingColors 的第二个参数是 CGFloat,因此将类型从 float 更改为 CGFloat 修复了它。

//const float colorMasking[6] = {222, 255, 222, 255, 222, 255};//before
const CGFloat colorMasking[6] = {222, 255, 222, 255, 222, 255};//after

UIGraphicsBeginImageContext(image.size);
CGImageRef maskedImageRef = CGImageCreateWithMaskingColors(rawImageRef, colorMasking);
于 2014-03-19T15:49:06.517 回答
2

由于答案在问题的评论中,我自己回答只是为了得到一个明确的答案。在 Debug 的“Build for active architectures only”的构建设置中,我有,而发布我没有。我将发布版本切换为YES,它没有问题。

感谢 Wain 为我指明了正确的方向。

于 2013-10-09T15:12:26.323 回答