Ошибка XCode после связывания SQLite3 - PullRequest
0 голосов
/ 12 июля 2011

Я получаю следующую ошибку после добавления libsqlite3.dylib в мою папку фреймворков xcode.

ignoring file /Users/AlexStein/Desktop/iPhone Applications/Persistence copy/libsqlite3.dylib, missing required architecture i386 in file

Способ, которым я добавил sqlite3, был следующим: щелчок правой кнопкой мыши на папке фреймворков, выбрал «Добавить файлы... "и искал libsqlite3.dylib.Их было двое и двое из libsqlite3.0.dylib.Я знал, что «3,0» не подходит для симулятора, поэтому я выбрал одну из «3».Когда я пытаюсь выбрать другой, он просто говорит, что я уже добавил его, поэтому я предполагаю, что они совпадают.

Я не уверен, почему я получаю ошибку, так как я почти уверенвесь мой код правильный.Это как-то связано с xCode.Буду признателен за любую помощь!

1 Ответ

0 голосов
/ 12 июля 2011

проверили ли вы настройки проекта.столбец архитектуры.

EDITED

Apple Xcode 4 отличается от более ранней версии.Мы должны изучить новый пользовательский интерфейс и обойти некоторые врожденные дефекты.Попробуйте выполнить следующие действия:

  • Перейдите на вкладку «Настройки сборки» и выберите группу «Архитектуры»

  • Посмотрите значения, например, Архитектуры: Стандартные(armv6 armv7), базовый SDK: последняя версия iOS (iOS 4.3), только для построения активной архитектуры: нет, поддерживаемые платформы: iphonesimulator, iphoneos и действующие архитектуры: armv6 armv7 i386.

  • If «Valid Architectures »установлен только на armv6 и armv7, удалите оба.Перезапустите Xcode.Я не знаю почему, но некоторые из вас сообщили, что это помогло.Установите для «Допустимые архитектуры» значение $ (ARCHS_STANDARD_32_BIT).Valid Architectures снова покажет armv6 и armv7, но на этот раз он может скомпилироваться просто отлично.Как ни странно.

  • Кроме стандартных armv6 и armv7, вручную добавьте i386 в «Valid Architectures».Обратите внимание, что i386 является действующей архитектурой, поскольку Simulator работает на вашем Intel iMac (или MacBook Pro).

Примечания:

  • Измените код, чтобы уменьшитьколичество предупреждений, подобных этому: 1 2 3 4

заменить: if (self = [super init]) {на: if ((self = [super init])) {

*Замечания 1034 * armv6: Apple инициировала серьезное аппаратное отключение с iOS 4.3.В iOS 4.3 удалена поддержка любых гаджетов на базе armv6.Старые устройства iPod touch / iPhone (1G, 2G, 3G) работают на процессоре arm v6.Компиляторы Armv6 не работают с armv7 или выше, но с Xcode 4 вы можете создавать приложения для старых устройств под управлением iOS 4.2 или более ранней версии.В вашем коде ищите версии для iOS и аппаратного обеспечения, чтобы использовать надлежащие рамки или другие объекты, иначе вы получите исключения во время выполнения.Похоже, Apple готовит дорогу для устройств armv8 и iOS 5.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...