Ответ 1
Просто удалите плохую архитектуру из Valid Architectures в Target Aguilar Settings, и вы хорошо пойдете:)
У меня появилась такая же ошибка при использовании ZBarSDK, библиотеки сканирования бара для iOS. Он отлично работает, когда я загружаю его на свое устройство разработки или тестирую его на симуляторе iOS6. Но когда я пытаюсь запустить его для распространения, он терпит неудачу:
(null): Файл является универсальным (3 среза), но не содержит (n) armv7s slice:/Users/quique123/Documents/iphone apps/ScanThis/ZBarSDK/libzbar.a для архитектуры armv7s
где libzbar.a - это библиотека из sdk.
Любые идеи?
Просто удалите плохую архитектуру из Valid Architectures в Target Aguilar Settings, и вы хорошо пойдете:)
Откройте код ZBar Рекурсивный код рекурса
http://zbar.hg.sourceforge.net/hgweb/zbar/zbar/summary
Перейдите к ссылкам bz2/zip/gz, чтобы загрузить источник тока (в предпочтительном формате)
http://zbar.hg.sourceforge.net/hgweb/zbar/zbar/archive/fa84e0427c24.tar.bz2 (начиная с этой даты) http://zbar.hg.sourceforge.net/hgweb/zbar/zbar/archive/fa84e0427c24.zip (начиная с этой даты) http://zbar.hg.sourceforge.net/hgweb/zbar/zbar/archive/fa84e0427c24.tar.gz (начиная с этой даты)
Откройте подкаталог "iphone"
Откройте файл zbar.xcodeproj
В меню схемы выберите libzbar и создайте собственную бинарную версию в поддерживаемой архитектуре
Откройте DerivedData для этого проекта и выберите Build/Products/
Посмотрите все папки для libzbar.a
Когда вы выбрали цель > Настройки сборки (Все) > Архитектуры > Действительные архитектуры.
Когда вы получите вышеуказанную ошибку, удалите armv7 (возможно, теперь [armv7 armv7s]), дважды щелкнув по строке и выберите armv7s и нажмите кнопку (-).
В моем случае это решило ошибку. Не уверен, что это будет иметь другие недостатки далее..
EDIT: теперь я уверен, что это имеет хотя бы один недостаток: проект не подходит для iPhone 5. Решение для этого - перекомпиляция источников ZBar, как указано здесь: Библиотека ZBar для iPhone 5 (ARMV7)
Вы можете загрузить новую сборку ZBarSDK по URL-адресу ниже.
Я только что заменил в настройках сборки/допустимых архитектур: "armv7" для двух строк "armv6" и "armv7"
(Обычно я использовал эту ошибку компоновщика только при отправке в iTunes, но не в отладке устройства)
Просто удалите "armv7s", это будет работать:)
Установите "Только создать активную архитектуру" на YES для выпуска. Я исправил свою проблему, сделав это, когда столкнулся с этой проблемой.