2016-03-09 90 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