使用 Xcode 7 和 cocoapods 的 DBAccess 链接器警告和错误
DBAccess linker warnings & errors using Xcode 7 and cocoapods
几个月来,我一直在我的项目中成功地将 DBAccess 用作 cocoapod。过去几周我的工具链发生了很多变化,现在我的构建失败了。 pod install 表示它安装了 DBAccess (1.6.9)。 Xcode 版本为 7.0.1。 pod --version 是 0.39.0.
在 Xcode 中构建我的应用程序时,我看到链接器警告:
ld:警告:找不到选项“-F/proj/DBAccess”
的目录
框架实际上存在于 /proj/Pods/DBAccess
这个警告不是问题(除了可能指示安装错误),我可以构建,运行,并测试应用程序正常。
但是,当我尝试使用 jenkins/fastlane/pilot/xcode CLI 将应用存档以提交到应用商店时,出现以下链接器错误:
ld:无法生成位码包,因为“/Users/jenkins/.jenkins/jobs/proj/workspace/Pods/DBAccess/DBAccess.framework/DBAccess”是在没有完整位码的情况下构建的。 bitcode 的所有目标文件和库必须从 Xcode Archive 或 Install build for architecture armv7
生成
这是 Jenkins 为解决此错误而进行的命令行调用:
set -o pipefail && xcodebuild -workspace './proj.xcworkspace' -scheme 'proj' -destination 'generic/platform=iOS' -archivePath '/Users/jenkins/Library/Developer/Xcode/档案/2015-10-12/proj 2015-10-12 16.33.37.xcarchive' 档案 | tee '/Users/jenkins/Library/Logs/gym/proj.log' | xc漂亮
这个错误让我很困惑,因为 DBAccess 网站声称 1.6.9 是为解决这个问题而构建的 (http://www.db-access.org/downloads)。其他人在使用 cocoapods 安装 DBAccess 时遇到问题吗?
我开始使用 DBAccess (1.6.9) 和 Xcode(7.0.1)。 pod --version 是 0.38.2.
ld: bitcode bundle could not be generated
DBAccess 已免费关闭。
所以你必须 Enable Bitcode 变成 NO.
Select POJECT > 构建设置 > 构建选项 > 启用位码
默认值为是。所以变成NO.
对这个问题深表歉意,它现在已在 1.6.11 中修复。我们修复了 XCode 7,但 XCode 7.0.1 再次破坏了它。所以我们必须找出如何编译一个带有位码的静态库,因为添加标志 ENABLE_BITCODE.
并不是那么简单
DBAccess 1.6.11 现已在 CocoaPods 上运行。
注意:如果有人感兴趣,那么编译框架以包含位码需要添加的两件事是:
-fembed-bitcode-marker -fembed-bitcode
几个月来,我一直在我的项目中成功地将 DBAccess 用作 cocoapod。过去几周我的工具链发生了很多变化,现在我的构建失败了。 pod install 表示它安装了 DBAccess (1.6.9)。 Xcode 版本为 7.0.1。 pod --version 是 0.39.0.
在 Xcode 中构建我的应用程序时,我看到链接器警告: ld:警告:找不到选项“-F/proj/DBAccess”
的目录框架实际上存在于 /proj/Pods/DBAccess
这个警告不是问题(除了可能指示安装错误),我可以构建,运行,并测试应用程序正常。
但是,当我尝试使用 jenkins/fastlane/pilot/xcode CLI 将应用存档以提交到应用商店时,出现以下链接器错误:
ld:无法生成位码包,因为“/Users/jenkins/.jenkins/jobs/proj/workspace/Pods/DBAccess/DBAccess.framework/DBAccess”是在没有完整位码的情况下构建的。 bitcode 的所有目标文件和库必须从 Xcode Archive 或 Install build for architecture armv7
生成这是 Jenkins 为解决此错误而进行的命令行调用: set -o pipefail && xcodebuild -workspace './proj.xcworkspace' -scheme 'proj' -destination 'generic/platform=iOS' -archivePath '/Users/jenkins/Library/Developer/Xcode/档案/2015-10-12/proj 2015-10-12 16.33.37.xcarchive' 档案 | tee '/Users/jenkins/Library/Logs/gym/proj.log' | xc漂亮
这个错误让我很困惑,因为 DBAccess 网站声称 1.6.9 是为解决这个问题而构建的 (http://www.db-access.org/downloads)。其他人在使用 cocoapods 安装 DBAccess 时遇到问题吗?
我开始使用 DBAccess (1.6.9) 和 Xcode(7.0.1)。 pod --version 是 0.38.2.
ld: bitcode bundle could not be generated
DBAccess 已免费关闭。
所以你必须 Enable Bitcode 变成 NO.
Select POJECT > 构建设置 > 构建选项 > 启用位码
默认值为是。所以变成NO.
对这个问题深表歉意,它现在已在 1.6.11 中修复。我们修复了 XCode 7,但 XCode 7.0.1 再次破坏了它。所以我们必须找出如何编译一个带有位码的静态库,因为添加标志 ENABLE_BITCODE.
并不是那么简单DBAccess 1.6.11 现已在 CocoaPods 上运行。
注意:如果有人感兴趣,那么编译框架以包含位码需要添加的两件事是:
-fembed-bitcode-marker -fembed-bitcode