好久没用 http相关的库,今天使用, 选用AFNetworking,github下载,引入工程,记录下中间使用中遇到的问题
1.在非ARC工程中使用ARC的文件,在project->Build Phases->Compile Sources 文件编辑参数 -fobjc-arc
PS:在ARC项目中使用非ARC文件:文件编辑参数 -fnoobjc-arc
2.编译时报错,
Undefined symbols for architecture i386: "_UTTypeCopyPreferredTagWithClass", referenced from: _AFContentTypeForPathExtension in AFURLRequestSerialization.o "_UTTypeCreatePreferredIdentifierForTag", referenced from: _AFContentTypeForPathExtension in AFURLRequestSerialization.o "_kUTTagClassFilenameExtension", referenced from: _AFContentTypeForPathExtension in AFURLRequestSerialization.o "_kUTTagClassMIMEType", referenced from: _AFContentTypeForPathExtension in AFURLRequestSerialization.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决 project->Build Phases-> Link Binary With Libraries 添加
MobileCoreServices.framework
SystemConfiguration.framework
3. 请求url 出现错误:The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.
原因iOS9引入了新特性App Transport Security (ATS),
要求App内访问的网络必须使用HTTPS
协议。
解决方案: 1.在Info.plist中添加NSAppTransportSecurity
类型Dictionary
。
2.在NSAppTransportSecurity
下添加NSAllowsArbitraryLoads
类型Boolean
,值设为YES
4.编译出现 AF_Require_noErr(SecItemExport(key, kSecFormatUnknown, kSecItemPemArmour, NULL, &data), _out); 出现kSecFormatUnknown无法识别 如果是2.6版本,请换2.5 就没问题了