Ios 使用Xcode 6时AFN与cocoapods链接错误

Ios 使用Xcode 6时AFN与cocoapods链接错误,ios,xcode6,linker-errors,cocoapods,afnetworking-2,Ios,Xcode6,Linker Errors,Cocoapods,Afnetworking 2,将项目从Xcode 5迁移到6时出错 Undefined symbols for architecture i386: "_OBJC_CLASS_$_AFHTTPRequestOperationManager", referenced from: objc-class-ref in QCRoomListControllerViewController.o objc-class-ref in libQCBase.a(QCHttpRequestAdapter.o)

将项目从Xcode 5迁移到6时出错

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_AFHTTPRequestOperationManager", referenced from:
      objc-class-ref in QCRoomListControllerViewController.o
      objc-class-ref in libQCBase.a(QCHttpRequestAdapter.o)
      objc-class-ref in libQCBase.a(QCHttpApi.o)
  "_OBJC_CLASS_$_AFHTTPResponseSerializer", referenced from:
      objc-class-ref in QCRoomListControllerViewController.o
  "_OBJC_CLASS_$_AFJSONResponseSerializer", referenced from:
      objc-class-ref in libQCBase.a(QCHttpApi.o)
ld: symbol(s) not found for architecture i386
我选择cocoapods作为包管理器,项目结构如下:

major project和BaseLib都在使用一些POD,同时project也在使用BaseLib.a

我尝试过像Xcode 5与iOS 7.1 SDK的组合(这是唯一有效的组合)、Xcode 6与iOS 7.1 SDK的组合以及Xcode 6与iOS 8.0 SDK的组合。 我目前的结论是,无论何时涉及到Xcode 6,链接都会失败,无论我选择了哪个版本的iOS SDK

相关设置如下所述

已在project和BaseLib上正确设置xcconfig文件:

架构设置:

我的播客文件内容:

#platform :ios, "6.0"
source 'https://github.com/CocoaPods/Specs.git'

workspace 'QiChengWS.xcworkspace'
xcodeproj 'QiChengNew/QiChengNew.xcodeproj'
xcodeproj 'QCBase/QCBase.xcodeproj'


target :QiChengNew do
    pod 'JSONModel'
    pod 'SDWebImage', '~>3.6'
    pod 'AutoNSCoding', '~> 0.1.3'

    platform :ios, '7.0'

    pod 'ProtocolBuffers', '~> 1.9'
    pod 'CocoaAsyncSocket', '~> 7.3'

    pod 'GBInfiniteScrollView', '~> 1.6'
    pod 'GBInfiniteScrollView/PageControl'

    pod 'UMengAnalytics', '~> 3.1.2'

    platform :ios, '7'
    pod 'MWPhotoBrowser', '1.4.0'

    xcodeproj 'QiChengNew/QiChengNew.xcodeproj'
end


target :QCBase do
    platform :ios, '7.0'
    pod "AFNetworking", "~> 2.0"

    pod 'SVPullToRefresh', :head

    pod 'Toast', '~> 2.3'

    xcodeproj 'QCBase/QCBase.xcodeproj'
end

我希望你现在已经找到了解决办法。如果不更新到AFNetworking 2.4,我就解决了这个问题

在将“pod”文件安装到我的项目中后,我面临着这种类型的问题。我使用下面的代码解决了这个问题

[!] The `sftest [Debug]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods-sftest/Pods-sftest.debug.xcconfig'. This can lead to problems with the CocoaPods installation

- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

将“其他链接器标志”更改为$(继承),这样就解决了我的问题。

它不应该为i386编译/链接任何内容,因为您的目标平台是ios。您是否尝试过删除
平台:ios,'7'
行?它在
target:QiChengNew
i386中是多余的,因为我是在iOS模拟器上编译我的项目的。删除平台这句话并没有带来太大的区别,我仍然会收到同样的错误,感谢您的评论。最新的CoCoapod和AFNetworking仍然存在问题。我的最终解决方案是放弃BaseLib级别,创建一个维护我的逻辑代码的私有pod,然后将其放入podfile中。