我正在尝试构建一个静态库,它具有在Podfile中指定的不同依赖项(例如AFNetworking).我不希望依赖项包含在最终的静态库中(调用libMyProject.a),我只想链接它们,然后创建一个MyProject.Podspec文件,我可以在其中放置相同的依赖项.
问题是,当我构建libMyProject.a时,libPods.a被链接和包含,因此如果我分发libMyProject.a并且其他人将它集成在使用某些相同依赖项的项目中,则会出现重复的符号问题.
如何链接libPods.a lib但不包含在libMyProject.a中?它应该像链接其他现有框架一样工作.
谢谢!
我正在开发一个依赖于两个静态实用程序库(libBFSDK和libBetfair-Platform)的iPad应用程序.两个静态库都包括AFNetworking.当我尝试在我的iPad应用程序中包含两个静态库时,我收到链接错误,如:
duplicate symbol _OBJC_METACLASS_$_AFImageCache in:
/Users/osheas/Library/Developer/Xcode/DerivedData/Betfair-gnnjnwtovdmtoxakuxbjyvetciyy/Build/Products/Debug-iphonesimulator/libBFSDK.a(UIImageView+AFNetworking.o)
/Users/osheas/Library/Developer/Xcode/DerivedData/Betfair-gnnjnwtovdmtoxakuxbjyvetciyy/Build/Products/Debug-iphonesimulator/libBetfair-Platform.a(UIImageView+AFNetworking.o)
ld: 86 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
UIImageView + AFNetworking是AFNetworking的一部分.两个静态库都包括AFNetworking.结果,我得到了UIImageView + AFNetworking的重复符号.
任何人都有关于这个解决方法的想法?我可以访问两个静态库的源代码,但我仍然不确定如何解决这个问题.
谢谢,如果您需要任何其他细节,请告诉我,
肖恩
PS - FWIW我正在运行Xcode 4.5,我需要能够部署到iOS 4.x设备.
我下载了最新的LinkedIn SDK并添加到我的项目中,但构建失败
重复符号_OBJC_METACLASS _ $ _ PodsDummy_Pods in:/linkedin-sdk.framework/linkedin-sdk(Pods-dummy.o)/Build/Products/Debug-iphonesimulator/libPods.a(Pods-dummy.o) duplicate symbol _OBJC_CLASS _ $ _ PodsDummy_Pods in: /linkedin-sdk.framework/linkedin-sdk(Pods-dummy.o)/Build/Products/Debug-iphonesimulator/libPods.a(Pods-dummy.o)ld:2个用于体系结构x86_64 clang的重复符号:error:linker命令退出代码1失败(使用-v查看调用)
有谁知道如何修理它?
这是我的podFile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
pod 'AFNetworking'
pod 'ODSAccordionView', '0.4.4'
pod 'IQKeyboardManager'
pod 'NYXImagesKit', :git => 'https://github.com/Nyx0uf/NYXImagesKit.git'
pod 'PEPhotoCropEditor'
pod 'CocoaAsyncSocket'
pod 'PKRevealController'
pod 'Haneke', '~> 1.0'
pod 'MBProgressHUD', '~> 0.9.1'
pod 'RadioButton'
Run Code Online (Sandbox Code Playgroud)
Everythig已经很好地工作了很长时间,但是现在,当我更新我的pods(pod update)时,这三个pod被up upted:
AFNetworkingCocoaAsyncSocketIQKeyboardManager在那之后,没有任何作品了.
我得到了600多个duplicate symbols for architecture i386错误,比如这个错误:
duplicate symbol _OBJC_IVAR_$_AFHTTPRequestOperation._responseSerializer in:
/Users/myuser/Library/Developer/Xcode/DerivedData/MyProject-emjexnnjljambodthokzwpwcddhz/Build/Products/Debug-iphonesimulator/libPods-AFNetworking.a(AFHTTPRequestOperation.o)
/Users/myuser/Library/Developer/Xcode/DerivedData/MyProject-emjexnnjljambodthokzwpwcddhz/Build/Products/Debug-iphonesimulator/libAFNetworking.a(AFHTTPRequestOperation.o)
... (661 times the same error but pointing to different duplicated files)
ld: 661 duplicate symbols for architecture i386
clang: error: linker …Run Code Online (Sandbox Code Playgroud)