Я разрабатываю приложение, которое должно работать в версиях iOS> = 7.0. В настоящее время я тестирую свое приложение с помощью симуляторов. Мне очень неприятно комментировать мой код, как только я перехожу на XCode 5, чтобы проверить свое приложение на iOS 7. Есть ли какой-либо чистый прямой метод, который избавляет вас от головной боли? Есть ли полезный макрос, который позволяет указать, когда компилировать код и когда не нужно?Ошибки компиляции для разных версий XCode
ответ
У вас нет симулятора iOS 7.1 в файлах для скачивания (Xcode> Preferences> Downloads)?
Вы имеете в виду, если я загружаю iOS 7 simulator, тогда мне не придется тестировать с помощью XCode 5? – rokridi
Да, я использовал это для своего старого проекта. – miletliyusuf
@rokridi. Да, в этом и есть причина, по которой он доступен для скачивания, поэтому вы можете создать новый SDK и протестировать его против более старой версии симулятора. –
Если вы планируете компилировать тот же код в отношении старых версий SDK, у которых отсутствуют новые функции, которые вы используете, вы должны использовать макрос __IPHONE_OS_VERSION_MAX_ALLOWED из Availability.h. Посмотрите на комментарии по заголовку для документации, но не хватает его является:
#if __IPHONE_OS_VERSION_MAX_ALLOWED < 80000
// Do fallback path that does not depend on iOS features
#elif __IPHONE_OS_VERSION_MIN_REQUIRED < 8000
if (check for availability of new feature at runtime)
// Use new feature
else
// Do fallback path that does not depend on iOS features
#else
// Use new feature unconditionally
#endif
Вы также можете скачать симулятор выполнения IOS 7.1 изнутри Xcode 6 и запустить свои приложения против него (если предположить, что цель развертывания возвращается к 7.1 и старше).
Какие ошибки вы получаете? – trojanfoe
Ошибки, связанные с методами, доступными только на SDK iOS 8. – rokridi