我正在构建一个集成了Three20的iOS应用程序。即使在Simulator或iDevices上,我的应用程序也运行良好。但是,当我尝试构建一个Ad-hoc发送给我的客户进行测试时。我收到了一个非常奇怪的错误
Ld的 /Users/kulnova/Library/Developer/Xcode/DerivedData/AppFantator-etlvrvoqzixizqbdblqhgefckwbb/ArchiveIntermediates/AppFantator/IntermediateBuildFilesPath/AppFantator.build/Adhoc-iphoneos/AppFantator.build/Objects-normal/armv6/Fantator 正常的armv6 cd / Users / kulnova / Desktop / AppFantator setenv IPHONEOS_DEPLOYMENT_TARGET 4.0 setenv PATH“/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr / X11 /斌:/选择/ local / bin目录:在/ usr /本地/ git的/ bin中” /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv6 -dynamiclib -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk -L /用户/ kulnova /库/开发商/ Xcode中/ DerivedData / AppFantator-etlvrvoqzixizqbdblqhgefckwbb / ArchiveIntermediates / AppFantator / BuildProductsPath /即席-的iPhoneOS -L / Users / kulnova / Desktop / AppFantator -F / Users / kulnova / Library / Developer / Xcode / DerivedData / AppFantator-etlvrvoqzixizqbdblqhgefckwbb / ArchiveIntermediates / AppFantator / BuildProductsPath / Adhoc-iphoneos -filelist /Users/kulnova/Library/Developer/Xcode/DerivedData/AppFantator-etlvrvoqzixizqbdblqhgefckwbb/ArchiveIntermediates/AppFantator/IntermediateBuildFilesPath/AppFantator.build/Adhoc-iphoneos/AppFantator.build/Objects-normal/armv6/Fantator.LinkFileList -nostdlib -dead_strip -ObjC -all_load -miphoneos-version-min = 4.0 -framework QuartzCore -lThree20 -lThree20Core -lThree20Network -lThree20Style -lThree20UI -lThree20UICommon -lThree20UINavigator -framework Foundation -framework UIKit -framework CoreGraphics -framework SystemConfiguration -framework 安全框架MessageUI -o /Users/kulnova/Library/Developer/Xcode/DerivedData/AppFantator-etlvrvoqzixizqbdblqhgefckwbb/ArchiveIntermediates/AppFantator/IntermediateBuildFilesPath/AppFantator.build/Adhoc-iphoneos/AppFantator.build/Objects-normal/armv6/Fantator
ld:找不到-lThree20的库 collect2:ld返回1退出状态 命令 /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 退出代码1失败
该错误显示为 Apple Match-O链接器错误
我很确定我严格遵循手动过程将Three20集成到源代码中。 “-ObjC”& “-all_load”全部添加到链接器中。
我不知道你们中是否有人遇到同样的问题,你有什么线索可以解决这个问题吗?
非常感谢您的阅读和支持。
答案 0 :(得分:0)
可能发生了这种情况,因为您需要向adhoc目标添加三个。尝试使用目标名称再次运行python脚本:
python three20/src/scripts/ttmodule.py -p ProjectName/ProjectName.xcodeproj -c Adhoc Three20
如果您的ad hoc目标中已存在构建搜索标头,请尝试在目标设置中引用构建路径。如果您的目标名称中包含空格,则xcode可能会在构建文件夹中构建three20时遇到问题。
"$(BUILT_PRODUCTS_DIR)/../three20"
"$(BUILT_PRODUCTS_DIR)/../../three20"
"../../libs/external/three20/Build/Products/three20"
答案 1 :(得分:-1)
我想自己提供一个解决方案。这有点抽象,但我所做的就是回到起点(就在我将Three20 Lib的第一个内容添加到我的应用程序之前,我从Git中恢复过来)。
错误发生在之前,我没有注意到我的链接框架是红色的(我认为会有一些问题,但不知道为什么)。
询问周围,没有解决方案。我试图一次又一次地做这个过程,最后,我得到的所有框架现在都是黑色的,不再是红色。一切都很顺利!我把Adhoc分发给了我的客户。 (我试图在这里发布截图,但我不允许,因为我是新用户)
如果你处于相同的情况,并且不知道如何解决它。我强烈建议你一次又一次地这样做,直到你遇到同样的情况。