SQLCipher、Xcode 4 和创建 IPA
Posted
技术标签:
【中文标题】SQLCipher、Xcode 4 和创建 IPA【英文标题】:SQLCipher, Xcode 4 and creating an IPA 【发布时间】:2011-08-09 10:26:42 【问题描述】:我在构建包含 SQLCipher 和 OpenSSL 的存档项目时遇到问题。
该项目在模拟器和我的 iphone 上构建良好,但在构建 Ad-Hoc 分发时(使用正确的 Ad-Hoc 方案)它构建但导致错误:
Ld "/Users/macuser/Library/Developer/Xcode/DerivedData/BlahHealthcare-frojqoeewvysjpcgcdtltizzbdri/ArchiveIntermediates/BlahHealthcare/IntermediateBuildFilesPath/BlahHealthcare.build/Ad Hoc-iphoneos/BlahHealthcare.build/Objects-normal/armv6/BlahHealthcare" 正常armv6 cd "/Users/macuser/Projects/BlahHealthcare" setenv IPHONEOS_DEPLOYMENT_TARGET 4.3 setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk "-L/Users/macuser/Library /Developer/Xcode/DerivedData/BlahHealthcare-frojqoeewvysjpcgcdtltizzbdri/ArchiveIntermediates/BlahHealthcare/BuildProductsPath/Ad Hoc-iphoneos""-L/Users/macuser/Projects/BlahHealthcare""-F/Users/macuser/Library/Developer/Xcode/DerivedData/ BlahHealthcare-frojqoeewvysjpcgcdtltizzbdri/ArchiveIntermediates/BlahHealthcare/BuildProductsPath/Ad Hoc-iphoneos"-filelist"/Users/macuser/Library/Developer/Xcode/DerivedData/BlahHealthcare-frojqoeewvysjpcgcdtltizzbdri/ArchiveIntermediates/BlahHealthcare/IntermediateBuildFilesPath/BlahHealthcare.build/Ad Hoc-iphoneos/ BlahHealthcare.build/Objects-normal/armv6/BlahHealthcare.LinkFileList" -dead_strip -lxml2 -miphoneos-version-min=4.3 -lcrypto -lsqlcipher -framework Foundation -framework UIKit -framework CoreGraphics -licucore.A -framework CFNetwork -framework SystemConfi guration -framework MobileCoreServices -lz.1.2.3 -framework Security -o "/Users/macuser/Library/Developer/Xcode/DerivedData/BlahHealthcare-frojqoeewvysjpcgcdtltizzbdri/ArchiveIntermediates/BlahHealthcare/IntermediateBuildFilesPath/BlahHealthcare.build/Ad Hoc-iphoneos/BlahHealthcare。 build/Objects-normal/armv6/BlahHealthcare"
ld: 找不到 -lcrypto 的库 collect2: ld 返回 1 个退出状态 命令 /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 失败,退出代码为 1
一切似乎都配置正确,所以我不知道从哪里开始。我在其他帖子上尝试了各种答案,但似乎都没有。
有人知道我哪里出错了吗?
【问题讨论】:
【参考方案1】:看起来您只是在为 armv6 构建(不是 armv6+armv7,或者只是 armv7),这对于 Xcode 4.2 和构建系统可能有点麻烦,因为这些天它似乎默认为 armv7 并且放弃了支持对于armv6。无论如何,我们最近更新了 OpenSSL-Xcode 和 SQLCipher Xcode 项目构建设置,以便大多数构建在 Debug 和 Release 上都能成功运行,前提是“子项目”1 具有 ARCHS 设置与正在建设的主要项目相匹配。目前我们将其默认为 armv6 和 armv7。
您应该做的是获取最新版本的OpenSSL-Xcode 和SQLCipher,检查您的项目设置against our updated tutorial,如果都匹配,请在您的主项目的构建设置中调整ARCHITECTURES
设置文件,并且在两个依赖项目中只包含“armv6”。
[1] “子项目”没有像通常假设的那样继承任何设置,所以它有点用词不当,因此是吓人的引号。
【讨论】:
以上是关于SQLCipher、Xcode 4 和创建 IPA的主要内容,如果未能解决你的问题,请参考以下文章
使用 iOS 5.0 Beta 版本在 Xcode 4.2 中创建 IPA 文件
无法使用 Xcode 9 创建 xcarchive 到 ipa