Создайте архитектуру armv6 (целевой iOS 3.1.3) с iOS 6 SDK и Xcode 4.5? - программирование
Подтвердить что ты не робот

Создайте архитектуру armv6 (целевой iOS 3.1.3) с iOS 6 SDK и Xcode 4.5?

Есть ли возможность использовать iOS 6 SDK для разработки приложений, ориентированных на iOS 3.1.3? Если я открою свой проект со старой целью развертывания, компилятор предупредит меня:

iOS deployment targets lower than 4.3 are not supported

Это, вероятно, связано с тем, что, по-видимому, могут быть созданы только двоичные файлы armv7 и armv7s. Если я добавлю armv6 (работая в устройствах до iPhone 3G) вручную, есть несколько предупреждений:

warning: no rule to process file '$(PROJECT_DIR)/main.m' of type sourcecode.c.objc for architecture armv6
...
...
warning: architecture armv6 is not supported (current ARCHS = "armv6 armv7 armv7s").

Итак, как мне с этим справиться? Есть ли способ поддержать iOS 3.1.3 при разработке с помощью iOS 6 SDK? Если нет, мне придется перейти к самой низкой цели, чтобы быть iOS 4.3. Можно ли даже представить новую версию, поддерживающую только версии >= 4.3? Что происходит с моими пользователями в более ранних версиях? Они просто не информируются о несовместимом обновлении и, следовательно, продолжают использовать более старую версию моего приложения? Если нет, может ли это быть достигнуто?

4b9b3361

Ответ 1

С Xcode 4.5 (т.е. iOS 6 SDK) самой низкой версией, которую вы можете построить, является iOS 4.3. Наверное, настало время для ваших 3.1.3 клиентов обновиться.

Ответ 2

Ответ oonoweb правильный относительно iOS SDK 6.0. Невозможно поддерживать ниже iOS 4.3 при создании против iOS 6 SDK, но можно использовать Xcode 4.5 для продолжения сборки для armv6 и целевого iOS 4.2.1 и ниже.

Трюк заключается в создании против iOS 5.1 SDK вместо 6.0. Примечание. Если вы это сделаете, вы не сможете использовать какие-либо новые функции iOS 6:

chpwn blog излагает шаги, которые я переписал:

  • Загрузите Xcode 4.4.1 из Apple Загрузка разработчика (вам не нужно его устанавливать)
  • Откройте .dmg, щелкните правой кнопкой мыши на Xcode.app, 'Показать содержимое пакета'
  • Найдите SDK iOS 5.1 в этом пакете по адресу: Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/
  • Скопируйте этот SDK
  • Откройте содержимое пакета Xcode.app(4.5) и вставьте 5.1 SDK в папку: Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
  • Откройте проект в Xcode 4.5. Перейдите на вкладку Target > Build Settings > Base SDK и выберите iOS 5.1 из раскрывающегося списка
  • Снова на вкладке "Настройки сборки" > "Действительные архитектуры" - удалите armv7s, если она есть, и добавьте armv6, если он там уже не был.
  • Перейдите на вкладку "Информация" > "Цель развертывания" и введите 3.1.3 (или все, что вы поддерживаете) в раскрывающемся списке (опция не будет, но вы можете ввести ее).
  • Теперь вы можете удалить Xcode 4.4.1.dmg, если вы не хотите его устанавливать.

Вы получите предупреждения о том, как не обрабатывать файлы для armv6. Недавно Nate опубликовал этот ответ, чтобы разобраться с ними.

Если вы создаете новый проект (вместо сохранения старых), вам также может потребоваться просмотреть файл ***-Info.plist и удалить armv7 из "Необходимые возможности устройства", если он там.