代码改变世界

开源网络访问框架AFNetworking在iOS项目中遇到的问题

2013-09-12 17:49  张智清  阅读(5207)  评论(0编辑  收藏  举报

AFNetworking是一个轻量级的iOS网络通信类库。它建立在NSURLConnection和NSOperation等类库的基础上,让很多网络通信功能的实现变得十分简单。它支持HTTP请求和基于REST的网络服务(包括GET、POST、 PUT、DELETE等)。支持ARC。

 

问题一:在导入到项目中后,编译出现如图所示问题

原因是:MobileCoreServices.framework框架没有引用到主项目中。引入即可。

 原因是:Security.framework框架没有引用到主项目中。引入即可。

 

问题二:#import <AFNetworking>以后编译时产生警告,如下图:

解决办法是:在<工程名开头>-Prefix.pch文件中添加如下全局引入

#ifdef __OBJC__
  #import <Cocoa/Cocoa.h>
  #import <SystemConfiguration/SystemConfiguration.h>
  #import <MobileCoreServices/MobileCoreServices.h>
#endif

关于这个“<AppName>-Prefix.pch”文件,即预编译文件头的设置。“.pch"就是"precompiled header"的意思。在这个文件中可以在程序编译前都优先编译好一些指定的文件,以加快整个程序的编译速度。当然你的一些全局宏定义之类的也可以放在这里面,这样全工程都可以用。

示例文件代码:

//
// Prefix header for all source files of the 'WeiboSDKDemo' target in the 'WeiboSDKDemo' project
//

#import <Availability.h>

#ifndef __IPHONE_4_0
    #warning "This project uses features only available in iOS SDK 4.0 and later."
#endif

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
    #import <SystemConfiguration/SystemConfiguration.h>
    #import <MobileCoreServices/MobileCoreServices.h>
    #import "WeiboSDK.h"

    #define kAppKey         @"1255550075"
    #define kRedirectURI    @"http://www.iyueta.com"

#endif