Как добавить архитектуру armv6 в проект Xcode? - PullRequest
8 голосов
/ 08 сентября 2011

Я получил предупреждение, что мой проект должен включать двоичный файл armv6 ... но я не знаю, как это сделать. Вы искали ответ, но ни одно из предложений не подходит? Нужно ли скачивать armv6 для поддержки в моем приложении, или Xcode имеет его, мне просто нужно включить его в настройки своего проекта? Кроме того, мое приложение должно поддерживать ОС до 3.1.

Я добавил i386 за armv6 и armv7 в разделе отладки, но не знаю, решит ли это проблему. Вам это кажется правильным для людей с большим опытом?

Screenshot of Architecture settings:

Ответы [ 5 ]

7 голосов
/ 30 мая 2012

Следуй за мной

  1. На картинке вы выбираете уровень, измените его на "Комбинированный"
  2. Нажмите на стандартную (armv7) $ (ARCHS_STANDARD_32_BIT)
  3. Выберите "Другое"
  4. Нажмите "$ (ARCHS_STANDARD_32_BIT)" и нажмите "-", чтобы удалить его
  5. Нажмите «+», чтобы добавить новый элемент
  6. Тип "armv6"
  7. Снова нажмите «+»
  8. Тип "armv7"
  9. Нажмите в любом месте, чтобы закончить

Надеюсь, это поможет

У меня просто такая же проблема, и я пытаюсь сделать это, и это работает для меня

3 голосов
/ 01 декабря 2011

Я мог бы запустить свой код на старом iPhone 1-го поколения, используя строку armv6 armv7 вместо $ (ARCHS_STANDARD_32_BIT) в архитектурах и настройку «Build Active Architecture Only» до ДА.

2 голосов
/ 08 сентября 2011

В настройках проекта выберите «Стандарт» для архитектуры (не «Оптимизировано»).Это должно позволить вам выбрать «armv6» для активной архитектуры.Это означает, что он также должен работать на старых устройствах (исключая любые другие устаревшие версии), как только он появится в магазине приложений.

Измените базовый SDK на iOS Device 4.x или ниже, чтобы вы могли видеть свою архитектуру armv6.

1 голос
/ 28 мая 2012

У меня была такая же проблема. Я загрузил несколько старых проектов XCode, и они скомпилировались и нормально работали с симулятором, однако, как только вы попытались запустить или отладить устройство (что в моем случае в iTouch v2), оно просто скажет, что оно работает, затем скажите, что приложение закрыто. Нет ошибок, нет логов.

Спасибо кому-то на форумах разработчиков iOS, что поставили меня на правильный путь. В какой-то момент за последние пару выпусков XCode (не считая выпусков XCode для OSX Lion, поскольку у меня есть доступ только к OSX Snow Leopard), Apple изменила способ настройки проектов, даже более старые, которые были загружены.

Однако стандартная архитектура, используемая для включения как arm6, так и arm7, и по крайней мере со стандартом XCode 4.2 теперь включает только Arm 7 $ (ARCHS_STANDARD_32_BIT) и, по-видимому, сбрасывает настройки старого проекта. Что осталось незамеченным для меня, когда я использовал симулятор.

Я попытался изменить строку конфигурации на "arm6 arm7", но это не сработало. Однако ошибка, которая была возвращена, содержала решение (по крайней мере для меня, я надеюсь, что другие все еще имеют эту проблему.)

В XCode 4.2, если вы хотите собрать более старое оборудование, такое как устройства v1 и v2, просто измените настройку проекта для архитектур на $ (VALID_ARCHS), которая по умолчанию соответствует старому стандарту Arm6 и Arm7.

От вас, как упоминалось ранее, может потребоваться установить для параметра «Только активная архитектура» значение «Да» для параметра отладки (однако я не подтверждаю, что это необходимо).

Я надеюсь, что это поможет всем остальным, у которых все еще есть эта проблема, и я прошу прощения за то, что натолкнулся на эту тему.

0 голосов
/ 11 октября 2011

Это потому, что вы используете новый iOS 5 SDK.Apple исключает архитектуру armv6 из стандартных архитектур.

Вы можете получить больше информации об этой теме , которую я начал раньше.

...