2013-10-08 2 views
1

Я использую проект создания QR-кода в https://github.com/kuapay/iOS-QR-Code-Generator в моем проекте. Я добавил его точно так же, как говорят инструкции.CGImageCreateWithMaskingColors Нет подходящих функций

я могу скомпилировать и запустить проект на моих тестовых устройствах без проблем, что-так-когда-либо, но когда я пытаюсь архивировать его, я получаю следующее сообщение об ошибке:

Path/to/project/Barcode.mm:67:33: No matching function for call to 'CGImageCreateWithMaskingColors'

Я потянув меня за волосы на этом. Вот фрагмент кода, где он вызывается вместе с объявлениями переменных, которые он использует.

CGImageRef rawImageRef = image.CGImage; 

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

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

У вас есть некоторые настройки сборки, настроенные для отладки, но не выпускающие сборки? – Wain

+0

** Вы побеждаете! ** Я не строил для активной архитектуры только на выпуск, просто отлаживал. – stevenpaulr

ответ

2

Поскольку ответ в комментариях к этому вопросу, я сам отвечаю на него, чтобы получить заметный ответ. В настройках сборки для «Build для активных архитектур» для Debug у меня было ДА, а релиз у меня не было. Я переключил версию выпуска на YES, и это сработало без проблем.

Благодаря Wain для указания меня в правильном направлении.

12

Я знаю, что ответчик нашел свой ответ, но моя проблема заключалась в создании релиза, где он должен быть НЕТ. Потому что нам нужны неактивные архитектуры!

Проблема заключается в том, что XCode является гораздо более строгим с 64-битными сборками в новом XCode 5.1 (5B130a). Второй параметр 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); 
+0

О, это здорово! Я столкнулся с той же проблемой в другом приложении, забыл об этом и фактически нашел свой собственный поток здесь, когда искал. Это поможет! – stevenpaulr

Смежные вопросы