Как заставить фреймворк поддерживать архитектуру x86_64?

Я сделал свой собственный фреймворк, и все было в порядке. Но когда Apple выпускает 64-битную архитектуру, когда другой проект использует 64-битную архитектуру, мой фреймворк не хочет компилироваться. Когда я изменил архитектуру проекта только на armv7 и armv7s - все хорошо, но когда я изменил архитектуру обратно на arm64 - выдает ошибку -

(null): "_OBJC_CLASS_$MYFramework", referenced from:
objc-class-ref in RWAppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Итак, я изменил архитектуру фреймворка, чтобы включить arm64, но ошибка в моем проекте все еще существует.

Есть ли другой способ поддержать arm64?

Я добавил скриншот поддержки архитектур фреймворка введите здесь описание изображения


person Dmitriy Kalachniuk    schedule 25.11.2013    source источник
comment
x86_64 - это архитектура Intel. Вы установили правильную целевую дугу?   -  person Boris Ivanov    schedule 25.11.2013
comment
да. Я обновил вопрос, чтобы вы видели   -  person Dmitriy Kalachniuk    schedule 25.11.2013
comment
Почему бы вам просто не использовать 32-битную архитектуру? 64-битный процессор от Apple был скорее маркетинговым вопросом, чем реальной фишкой. Никто не увидит прироста производительности в ближайшие 2 года, пока не сделают телефон с 4+ ГБ ОЗУ.   -  person Boris Ivanov    schedule 25.11.2013
comment
мне это нужно, потому что проекты используют arm64, поскольку архитектура не будет компилировать мою структуру.   -  person Dmitriy Kalachniuk    schedule 25.11.2013
comment
Я думаю, всегда есть 32-битная версия проектов. Поскольку это была основная платформа на протяжении многих лет.   -  person Boris Ivanov    schedule 25.11.2013
comment
Вы правы, но с новейшим XCode есть другая стандартная архитектура, включающая 64-битную. Моя структура не хочет компилироваться в проектах, которые включают эту архитектуру   -  person Dmitriy Kalachniuk    schedule 25.11.2013
comment
Я думаю, что трудно помочь вам, не заглянув в make-файлы.   -  person Boris Ivanov    schedule 26.11.2013
comment
не могли бы вы привести правильные примеры make-файлов, пожалуйста?   -  person Dmitriy Kalachniuk    schedule 26.11.2013
comment
У меня их нет, так как у меня нет активной разработки IOS. Вы должны иметь. Вы можете отправить на мою личную учетную запись электронной почты, если вы не хотите делиться здесь. Кстати, вы пробовали: используйте -v, чтобы увидеть вызов?   -  person Boris Ivanov    schedule 26.11.2013


Ответы (1)


Из описания ошибки, которое вы предоставили, я вижу, что:

На этапе связывания для 64-битной архитектуры Intel символ _OBJC_CLASS_$MYFramework не был найден. Что довольно странно, поскольку вы уверены, что компилируете для архитектуры рук. Может быть, вам следует пересмотреть Makefiles вашего фреймворка?

Посмотрите здесь Оболочка, которую вы делаете целевой IOS7 32-битной ?

person Boris Ivanov    schedule 25.11.2013