Ответ 1
С Xcode 4.5 (т.е. iOS 6 SDK) самой низкой версией, которую вы можете построить, является iOS 4.3. Наверное, настало время для ваших 3.1.3 клиентов обновиться.
Есть ли возможность использовать 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? Что происходит с моими пользователями в более ранних версиях? Они просто не информируются о несовместимом обновлении и, следовательно, продолжают использовать более старую версию моего приложения? Если нет, может ли это быть достигнуто?
С Xcode 4.5 (т.е. iOS 6 SDK) самой низкой версией, которую вы можете построить, является iOS 4.3. Наверное, настало время для ваших 3.1.3 клиентов обновиться.
Ответ 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 излагает шаги, которые я переписал:
Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/
Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
Вы получите предупреждения о том, как не обрабатывать файлы для armv6. Недавно Nate опубликовал этот ответ, чтобы разобраться с ними.
Если вы создаете новый проект (вместо сохранения старых), вам также может потребоваться просмотреть файл ***-Info.plist
и удалить armv7 из "Необходимые возможности устройства", если он там.