2016-03-09 3 views
0

Я работаю на сценарий тестирования для кросс-компиляции библиотеки под Xcode:Как определить, поддерживает ли Xcode платформу?

#!/usr/bin/env bash                

PLATFORMS=(iPhoneOS iPhoneSimulator WatchOS WatchSimulator AppleTVOS AppleTVSimulator) 
for platform in ${PLATFORMS[@]} 
do 
    make distclean > /dev/null 2>&1 
    if [ $xcode_supports_platform ]; then 
     . ./setenv-apple "$platform" 
     make -f GNUmakefile-cross ... 
    fi 
done 

Более поздние версии Xcode поддерживает iPhoneOS, iPhoneSimulator, WatchOS, WatchSimulator, AppleTVOS и AppleTVSimulator. Более ранние версии Xcode не поддерживают Watch и TV.

У меня возникают проблемы, определяющий тест на "$ xcode_supports_platform". Поиск сайта Apple не показал ничего полезного, например, xcode-select, чтобы определить Xcode по умолчанию. И попытка получить помощь от Xcode просто запускает Xcode вместо предоставления поддерживаемых опций и команд: /Applications/Xcode.app/Contents/MacOS/Xcode --help.

Как определить, поддерживает ли Xcode платформу?

ответ

1

Вы можете посмотреть в результаты

xcodebuild -showsdks 

Что будет выглядеть как этот

OS X SDKs: 
    OS X 10.11      -sdk macosx10.11 

iOS SDKs: 
    iOS 9.2       -sdk iphoneos9.2 

iOS Simulator SDKs: 
    Simulator - iOS 9.2    -sdk iphonesimulator9.2 

tvOS SDKs: 
    tvOS 9.1      -sdk appletvos9.1 

tvOS Simulator SDKs: 
    Simulator - tvOS 9.1   -sdk appletvsimulator9.1 

watchOS SDKs: 
    watchOS 2.1      -sdk watchos2.1 

watchOS Simulator SDKs: 
    Simulator - watchOS 2.1   -sdk watchsimulator2.1 

Наличие или не наличие платформы должен сказать вам, что вы хотите знать.

+0

Спасибо. Я не уверен, почему я забыл о *** 'xcodebuild' ***, и почему поиск не вызвал хита. – jww

Смежные вопросы