2

几个月来,我已经成功地在我的项目中使用 DBAccess 作为 cocoapod。在过去的几周里,我的工具链发生了很多变化,现在我的构建失败了。pod install 表示它安装了 DBAccess (1.6.9)。Xcode 版本是 7.0.1。pod --version 为 0.39.0。

在 Xcode 中构建我的应用程序时,我看到了链接器警告:ld: warning: directory not found for option '-F/proj/DBAccess'

该框架实际上位于 /proj/Pods/DBAccess

这个警告不是问题(除了可能表明安装错误),我可以构建、运行和测试应用程序。

但是,当我尝试使用 jenkins/fastlane/pilot/xcode CLI 归档应用以提交到应用商店时,我收到以下链接器错误:

ld:无法生成位码包,因为“/Users/jenkins/.jenkins/jobs/proj/workspace/Pods/DBAccess/DBAccess.framework/DBAccess”是在没有完整位码的情况下构建的。必须从 Xcode Archive 或 Install build for architecture armv7 生成 bitcode 的所有目标文件和库

这是 Jenkins 为解决此错误而进行的命令行调用: set -o pipefail && xcodebuild -workspace './proj.xcworkspace' -scheme 'proj' -destination 'generic/platform=iOS' -archivePath '/Users/ jenkins/Library/Developer/Xcode/Archives/2015-10-12/proj 2015-10-12 16.33.37.xcarchive'存档| tee '/Users/jenkins/Library/Logs/gym/proj.log' | 漂亮的

这个错误让我很困惑,因为 DBAccess 网站声称 1.6.9 是为了解决这个问题而构建的 ( http://www.db-access.org/downloads )。是否还有其他人在使用 cocoapods 安装 DBAccess 时遇到问题?

4

2 回答 2

2

我开始使用 DBAccess (1.6.9) 和 Xcode(7.0.1)。pod --version 为 0.38.2。

ld:无法生成位码包

DBAccess 是免费关闭的。
所以你必须启用 Bitcode变成NO

选择 POJECT > Build Settings > Build Options > Enable Bitcode
默认值为 Yes。所以变成NO

于 2015-10-13T02:04:50.790 回答
1

抱歉这个问题,它现在已在 1.6.11 中修复。我们对 XCode 7 进行了修复,但 XCode 7.0.1 再次打破了这一点。所以我们必须找出如何编译一个包含位码的静态库,因为添加标志 ENABLE_BITCODE 并不是那么简单。

DBAccess 1.6.11 现在在 CocoaPods 上运行。

注意:如果有人感兴趣,那么编译框架以包含位码需要添加的两件事是:

-fembed-bitcode-marker -fembed-bitcode

于 2015-10-13T06:45:46.330 回答