iPhone開發中使用Cocoa XML RPC Framework
iPhone開發中使用Cocoa XML RPC Framework是本文要介紹的內容,最近做一個項目需要和rpc_xml打交道,原來一直想解析xml啊,方法挺多,可是以xml格式向服務器發送數據使用soap確實聽麻煩,就一個boby我加“\n"就挺費時的。幸虧有個框Cocoa XML-RPC Framework,省去了我許多麻煩,可是在使用框架時遇到了許多問題,使我非常糾結,在網上找相關的配置卻少的可憐,弄了一天總算是知道如何使用了。
1、下載The Cocoa XML-RPC Framework ,下載地址為:
- http://github.com/eczarny/xmlrpc
2、下載以后解壓開,可以看到Tools,UnitTests,build,和一些類文件。
其中Tools里面有兩個文件夾,一個是Test Client,Test Server,如果你沒有可訪問的服務器的話這兩個文件加可以做本地測試,前提是你必須在本地裝服務器,而后將Test Server運行。
3、關于如何將CocoaXMl引入到你的項目里面,這個有點麻煩,一直我想將build里面的框架引入,但報錯很多,其實有一種最簡單我辦法,就是首先你打開xmlRPc.xcodeProj文件,帶開項目以后,將項目Classes下面的文件全部復制到你的項目,這個時候運行你的項目,會發現出現錯誤,不過沒關系,直接將出錯的地方刪除,而后運行,發現好了吧,接下來就是如何使用這個框架了,使用非常簡單。
4、使用Cocoa XML-RPC
- //創建一個url地址
- NSURL *URL = [NSURL URLWithString: @"localhost:8080 "];
- //創建一個請求,這個類相當于sdk里面的NSURLRequest
- XMLRPCRequest *request = [[XMLRPCRequest alloc] initWithURL: URL];
- //創建一個連接服務器的類,和sdk里面NSURLConnection,它其實是對這個類進行了封裝你可以看它源代碼
- XMLRPCConnectionManager *manager = [XMLRPCConnectionManager sharedManager];
- //將你所要傳遞的參數封裝到一個數組里面
- NSArray *uAndP=[NSArray arrayWithObjects:firstName,lastName,nil];
- //設置UserAgent
- [request setUserAgent:@"The Incutio XML-RPC PHP Library"];
- //設置你將數據傳送到服務器以后所要調用的方法
- [request setMethod:@"IXR.login" withParameters:uAndP];
- //打印出來可以看到你所要給服務器發送的數據,這個時候它已經自動的封裝成為一個xml格式了
- NSLog(@"Request body: %@", [request body]);
- //發送請求,這里有個代理,你需要實現XMLRPCConnectionDelegate
- [manager spawnConnectionWithXMLRPCRequest: request delegate: self];
- [request release];
下面是實現代理類的方法:
代理類當中可以得到服務器的各種信息
- //出錯信息
- -(void) request:(XMLRPCRequest *)request didFailWithError:(id)error{
- NSLog(@"%@",error);
- }
- //得到服務器返回的數據
- -(void) request:(XMLRPCRequest *)request didReceiveResponse:(XMLRPCResponse *)response{
- //打印出來看下
- NSLog(@"%@",[response body]);
- }
- -(BOOL) request:(XMLRPCRequest *)request canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace*)protectionSpace{
- return YES;
- }
- -(void) request:(XMLRPCRequest *)request didCancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge{
- }
- -(void) request:(XMLRPCRequest *)request didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge*)challenge{
- }
小結:詳解iPhone開發中使用Cocoa XML RPC Framework的內容介紹完了,希望通過本文的學習能對你有所幫助!