CoreText Framework — приложение не запускается в симуляторе — iOS

У меня есть приложение, которое использует фреймворк CoreText. Я могу успешно запустить приложение на iPhone и iPad 1 и 2.

Однако я не могу запустить приложение в симуляторе xCode iPhone/iPad. Я получаю следующее сообщение об ошибке:

ld: предупреждение: игнорируется файл /Users/croydonbod/Documents/iDevelopment/MyApp/CoreText.framework/CoreText, файл был создан для неподдерживаемого формата файла, который не является связанной архитектурой (i386)

Неопределенные символы для архитектуры i386: "_CTFontCreateWithName", на который ссылается: -[View drawRect:] в View.o "_CTFramesetterCreateWithAttributedString", на который ссылается: -[View drawRect:] в View.o "_CTFramesetterCreateFrame", на который ссылается: -[View drawRect:] в View.o "_CTFrameGetVisibleStringRange", на который ссылается: -[View drawRect:] в View.o "_CTFrameDraw", на который ссылается: -[View drawRect:] в View.o "_kCTFontAttributeName", на который ссылается: -[ View drawRect:] в View.o "_kCTForegroundColorAttributeName", на который ссылается: -[View drawRect:] в View.old: символ(ы) не найден(ы) для архитектуры i386 clang: ошибка: команда компоновщика не удалась с кодом выхода 1 (используйте - v чтобы увидеть вызов)

Кто-нибудь может подсказать, почему это происходит?

Спасибо.


person GuybrushThreepwood    schedule 06.07.2012    source источник


Ответы (1)


похоже, что вы скопировали файлы фреймворка CoreText из SDK в свое приложение вместо того, чтобы слабо связать фреймворк (что означает, что соответствующий фреймворк будет корректно загружаться для устройства или симулятора).

Удалите инфраструктуру CoreText из своего проекта и повторно добавьте ее, убедившись, что сняли флажок "Копировать элементы в папку назначения", если он появляется, и после добавления фреймворка CoreText. , убедитесь, что для платформы CoreText в вашем проекте задано расположение «Относительно SDK». Вот как это установлено для платформы UIKit:

введите здесь описание изображения

person Michael Dautermann    schedule 06.07.2012
comment
Спасибо - я удалил файлы CoreText, а затем повторно связал их. Теперь по какой-то причине приложение не компилируется на устройстве или симуляторе. На устройстве я теперь получаю: - person GuybrushThreepwood; 06.07.2012
comment
Неопределенные символы для архитектуры armv7: _CGContextTranslateCTM, на которые ссылаются: -[View drawRect:] в View.o _CGPathRelease, на которые ссылаются: -[View drawRect:] в View.o _CGContextSetTextMatrix, на которые ссылаются: -[View drawRect:] в View. o _CGPathAddRect, на который ссылается: -[View drawRect:] в View.o _CGAffineTransformIdentity, на который ссылается: -[View drawRect:] в View.o _CGContextScaleCTM, на который ссылается: -[View drawRect:] в View.old: symbol( s) не найдено для архитектуры armv7 - person GuybrushThreepwood; 06.07.2012
comment
clang: ошибка: команда компоновщика не удалась с кодом выхода 1 (используйте -v, чтобы увидеть вызов) - person GuybrushThreepwood; 06.07.2012
comment
Ах, это Core Graphics. Добавил и работает. Спасибо за помощь - хорошо видно. Действительно странно — как это раньше компилировалось с Core Graphics?! - person GuybrushThreepwood; 06.07.2012