AFNetworking不会在xcode8上使用cocoapod构建

时间:2017-01-07 01:37:19

标签: ios cocoapods afnetworking

我正在使用cocoapods 1.1.1,并尝试使用pod install安装此文件:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
target "Pictabite" do
    pod 'AFNetworking', '~> 3.1'
    pod 'SDWebImage', '~>3.8'
    pod 'LLSimpleCamera', '~> 5.0'
end

但是,添加AFNetworking后,项目无法构建。我在Xcode上收到此错误:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_AFNetworkReachabilityManager", referenced from:
      objc-class-ref in AppDelegate.o
      objc-class-ref in UIDevice+Category.o
  "_OBJC_CLASS_$_AFNetworkActivityIndicatorManager", referenced from:
      objc-class-ref in PBHttpSessionManager.o
  "_OBJC_CLASS_$_AFHTTPSessionManager", referenced from:
      _OBJC_CLASS_$_PBHttpSessionManager in PBHttpSessionManager.o
      _OBJC_CLASS_$_PBHttpFQSessionManager in PBHttpFQSessionManager.o
  "_OBJC_METACLASS_$_AFHTTPSessionManager", referenced from:
      _OBJC_METACLASS_$_PBHttpSessionManager in PBHttpSessionManager.o
      _OBJC_METACLASS_$_PBHttpFQSessionManager in PBHttpFQSessionManager.o
  "_OBJC_CLASS_$_AFJSONResponseSerializer", referenced from:
      objc-class-ref in PBHttpSessionManager.o
      objc-class-ref in PBHttpFQSessionManager.o
  "_OBJC_CLASS_$_AFHTTPRequestSerializer", referenced from:
      objc-class-ref in PBHttpSessionManager.o
      objc-class-ref in PBHttpFQSessionManager.o
  "_OBJC_CLASS_$_AFSecurityPolicy", referenced from:
      objc-class-ref in PBHttpSessionManager.o
ld: symbol(s) not found for architecture x86_64
clang-real: error: linker command failed with exit code 1 (use -v to see invocation)

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

未指定cocoapods版本,并使用use_frameworks!产生:

  

安装AFNetworking(3.0.4)
  安装LLSimpleCamera(4.2.0)
  安装SDWebImage(3.7.5)

  • pod --version:1.1.1
  • xcodebuild -version:Xcode 8.2.1,Build版本8C1002

您的Podfile可能如下所示:

platform :ios, '10.0'

target 'Pictabite' do
    use_frameworks!

    pod 'AFNetworking'
    pod 'SDWebImage'
    pod 'LLSimpleCamera'
end

Swift 3编译示例

import AFNetworking
...
let configuration = URLSessionConfiguration.default
let manager = AFURLSessionManager(sessionConfiguration: configuration)

Objective-C编译示例

#import "AFNetworking.h"
...
NSURLSessionConfiguration *configuration =
   [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager =
   [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];