2015-03-19 2 views
1

Я разрабатываю приложение, которое должно работать в версиях iOS> = 7.0. В настоящее время я тестирую свое приложение с помощью симуляторов. Мне очень неприятно комментировать мой код, как только я перехожу на XCode 5, чтобы проверить свое приложение на iOS 7. Есть ли какой-либо чистый прямой метод, который избавляет вас от головной боли? Есть ли полезный макрос, который позволяет указать, когда компилировать код и когда не нужно?Ошибки компиляции для разных версий XCode

+0

Какие ошибки вы получаете? – trojanfoe

+0

Ошибки, связанные с методами, доступными только на SDK iOS 8. – rokridi

ответ

2

У вас нет симулятора iOS 7.1 в файлах для скачивания (Xcode> Preferences> Downloads)?

+0

Вы имеете в виду, если я загружаю iOS 7 simulator, тогда мне не придется тестировать с помощью XCode 5? – rokridi

+0

Да, я использовал это для своего старого проекта. – miletliyusuf

+0

@rokridi. Да, в этом и есть причина, по которой он доступен для скачивания, поэтому вы можете создать новый SDK и протестировать его против более старой версии симулятора. –

0

Если вы планируете компилировать тот же код в отношении старых версий 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 и старше).