在jenkins上用xcodebuild编译一个Cordova项目出现了下面的错误:

.jenkins/workspace/ssm-app-ios/XXX/Bridging-Header.h:28:9: error: 'Cordova/CDV.h' file not found
#import <Cordova/CDV.h>
        ^
<unknown>:0: error: failed to import bridging header '/Users/XXX/.jenkins/workspace/XXX-app-ios/XXX/Bridging-Header.h'

** BUILD FAILED **

查了好久没有找到原因,后来参考了https://github.com/meteor/meteor/issues/3836
发现是CONFIGURATION_BUILD_DIR 需要绝对路径的原因

The issue seems to be with xcodebuild!
It expects the path for CONFIGURATION_BUILD_DIR to be an absolute path and not a relative path.

That is, because it uses that path relative to each project (CordovaLib and your app), hence the output will be dumped in different directories.

While this is not technically a meteor problem, would be nice to get it documented on docs.meteor.com
e.g.

How to build your ios project from line command using xcodebuild

CODE_SIGN_IDENTITY=”iPhone Developer”

正确的命令

xcodebuild -target  MYProject  CONFIGURATION_BUILD_DIR=$(pwd)/build/device  -configuration Debug build
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐