Travis-CI 在我的项目中使用 xcodebuild 构建/链接问题

Posted

技术标签:

【中文标题】Travis-CI 在我的项目中使用 xcodebuild 构建/链接问题【英文标题】:Travis-CI build/link issue using xcodebuild on my project 【发布时间】:2018-12-13 17:35:23 【问题描述】:

问题/说明

我正在尝试使用 Travis-CI xcodebuild 机制来构建/链接和测试我的一个 Github Swift 4.2.1 项目。不幸的是,我在编译外部使用的库(Spotify-ios-SDK)期间偶然发现了一个链接错误——其他一切都编译得很好,但是这个库由于某种原因每次都会抛出一个致命的链接错误。我在我的 travis.yml 文件中尝试了多种配置,但现在似乎没有任何效果。该项目使用 XCode10.1 IDE(旧的和新的构建引擎)在我的本地系统上构建和链接良好。 我正在为我所有使用过的库使用 POD 组合堆栈

详细信息/日志

这里有一些指向我的项目配置的链接,包括 travis-ci 构建历史

Github Project Sources

Github Project Podfile

Travis-CI build history (current)

Local Build Logfile (current)

Travis 日志输出(屏幕截图)

【问题讨论】:

本地构建命令行执行良好。我已经测试了普通的 buildbuild-for-testingtest 选项(包括 UseNewBuildSystem 选项)。 xcodebuild clean build -workspace aqoo.xcworkspace -scheme aqoo -destination "platform=iOS Simulator,name=iPhone 6s" -sdk iphonesimulator -toolchain XCode10.1 -UseNewBuildSystem=YES -configuration Debug CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ONLY_ACTIVE_ARCH=NOcd 【参考方案1】:

问题已解决...我必须在项目供应商安装开始之前清理我的 Pod 目录并刷新本地 pod 缓存(使用 pod install)。我不知道为什么这个错误发生在 travis 和另一个本地 mac 系统上。这有点奇怪/但现在一切正常。

travis.yml
    before_install:
      - ...
      - pod cache clean --all
      - rm -rf ./Pods/*
      - pod update

【讨论】:

以上是关于Travis-CI 在我的项目中使用 xcodebuild 构建/链接问题的主要内容,如果未能解决你的问题,请参考以下文章

GitHub项目加入Travis-CI的自动集成

在 travis-ci 上使用秘密 api 密钥

如何在 Travis-CI 配置文件 (YAML) 中正确使用 curl?

似乎无法为 Travis-CI 发布我更新的 pgp 密钥以获取它

Swift 测试在本地通过,但在 Travis-CI 上构建失败

使用Travis-CI自动化部署Hexo博客