我正在编写一个测试脚本,用于在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不支持手表和电视。
我无法确定 " $ xcode_supports_platform" 的测试。搜索Apple的网站并未发现任何有用的内容,例如xcode-select
来确定默认的Xcode。尝试从Xcode获得帮助只需启动Xcode,而不是提供支持的选项和命令:/Applications/Xcode.app/Contents/MacOS/Xcode --help
。
如何确定Xcode是否支持平台?
答案 0 :(得分: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
平台的存在或不存在应该告诉您想要了解的内容。