架构x86_64框架的重复符号包括两次

时间:2017-05-14 14:30:11

标签: ios xcode frameworks cocoapods

这不是常规的重复符号错误。我正在使用AFNetworking库与可可豆荚联网。我还使用了第三方框架,该框架已添加到目标" Link Binary With Libraries"列表在构建阶段。

不幸的是,这个第三方框架包括AFNetworking,它显然被它用于网络。

因此,产生此错误是有道理的。不知道如何解决这个问题?

编辑:这里显示kAFUploadStream3GSuggestedPacketSize符号是在afnetworking和OPPWAMobile框架中定义的。以及另外59个符号。

  

重复符号_kAFUploadStream3GSuggestedPacketSize in:       /Users/khaled/Library/Developer/Xcode/DerivedData/Saveto-fhceqhysbolbskawabayohjbtsra/Build/Products/Debug-iphonesimulator/AFNetworking/libAFNetworking.a(AFURLRequestSerialization.o)       /Users/khaled/Development/iOS/Saveto/git@git.assembla.com:imena-develotpment-.29/OPPWAMobile.framework/OPPWAMobile   ld:架构x86_64 clang的60个重复符号:错误:链接器   命令失败,退出代码为1(使用-v查看调用)

Podfile:

platform :ios, '7.1'
source 'https://github.com/CocoaPods/Specs.git'

target 'Saveto' do
    pod 'SWTableViewCell', '~> 0.3.7'
    pod 'CocoaLumberjack', '~> 2'
    pod "AFNetworking"   , '~> 2'
    pod 'SDWebImage', '~>3.7'
    pod 'MMDrawerController', '~> 0.6.0'
    pod 'iRate'
    pod 'XLForm'
    pod "SwipeView", "~>1.3.2"
    pod "DAAlertController"
    pod "Mantle" , "~>2.0.4"
    pod 'pop', '~> 1.0'
    pod 'GoogleMaps', '~> 1.12'
    pod 'SVProgressHUD'
    pod 'FXBlurView'
    pod 'Fabric'
    pod 'Crashlytics'
end

1 个答案:

答案 0 :(得分:1)

你对AFNetworking与第三方库冲突的Pod导入是正确的,该第三方库碰巧包含相同的符号。有几种方法可以解决它,最好的和最明智的方法是在Podfile中指定use_frameworks!

platform :ios, '9.0'
use_frameworks!
  target 'Saveto' do
    pod 'SWTableViewCell', '~> 0.3.7'
    pod 'CocoaLumberjack', '~> 2'
    pod 'AFNetworking'   , '~> 2'
    pod 'SDWebImage', '~>3.7'
    pod 'MMDrawerController', '~> 0.6.0'
    pod 'iRate'
    pod 'XLForm'
    pod 'SwipeView', '~>1.3.2'
    pod 'DAAlertController'
    pod 'Mantle' , '~>2.0.4'
    pod 'pop', '~> 1.0'
    pod 'GoogleMaps', '~> 1.12'
    pod 'SVProgressHUD'
    pod 'FXBlurView'
    pod 'Fabric'
    pod 'Crashlytics'
end

我想您也可以使用post_install方法重命名符号,尽管这可能无法解决所有问题;使用上述方法后不应该出现任何问题。