在Xcode 10中,当使用新的构建系统时,如果您的xcconfig包含任何条件变量赋值,xcodebuild将生成一个错误,显示“非法指令4”。例如:
FOOsdk=macosx* =蜂鸣声
在删除"sdk=macosx*“之后,xcodebuild就像charm一样工作。
我看了一下Xcode10构建系统的补丁说明,苹果并没有说要放弃对条件变量赋值的支持。所以我猜这应该是xcodebuild中的一个bug?
顺便说一下,这个问题也出现在Xcode9.4中的新构建系统中(而由于Xcode9.4中的新构建系统不是默认的,所以您必须手动设置项目设置。)
发布于 2019-06-12 21:25:30
根据this section in the official documentation的说法,您的配置应该可以工作,所以我会说这肯定是构建系统中的一个错误。
您可以考虑以下一种或两种解决方法:
在命令行中强制使用旧的构建系统,这个问题已经由this question's answers.
PLATFORM_NAME将FOO导出为buzz,在面向模拟器时使用bar导出bar:FOO_iphoneos = buzz
FOO_iphonesimulator = bar
FOO = $(FOO_$(PLATFORM_NAME))https://stackoverflow.com/questions/52898716
复制相似问题