Как настроить таргетинг на самую старую версию iphone с помощью последней версии iOS SDK и обнаружить недостающие символы в новых API? - PullRequest
6 голосов
/ 27 января 2011

Я компилирую проект, использующий функцию, определенную только в iOS SDK 4.1. Однако я могу установить цель развертывания ios 3.2 и скомпилировать ее без предупреждения.

IPHONEOS_DEPLOYMENT_TARGET = 3,2

Почему xcode меня не предупреждает. Я что-то пропустил. У меня есть более крупный проект, и я должен определить, какой может быть моя минимальная цель, как мне поступить?

Однако в документации четко говорится:

"Примечание. Если SDK, который вы используете для создания приложения, более поздний, чем целевой выпуск iOS для приложения (например, активный SDK - iOS 4.2, а iOS Deployment Target - iPhone OS 4.0), Xcode отображает предупреждения о сборке когда он обнаруживает, что ваше приложение использует функцию, недоступную в целевой версии ОС. "

http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iphone_development/120-Building_and_Running_Applications/building_and_running_applications.html%23//apple_ref/doc/uid/TP40007959-CH6

1 Ответ

0 голосов
/ 14 декабря 2011

В нашем случае мы сохраняем старую установку XCode и запускаем через командную строку:

/ Developer3.2.6 / usr / bin / xcodebuild -project project.xcodeproj -target UnitTests -sdk iphonesimlator4.3

Если компиляция не удалась, в журнале ясно, что используется необъявленный код (например, из iOS 5). Конечно, непрерывная интеграция Jenkins - наш друг для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...