Iphone 用于iOS项目的XMLRPC iOS

Iphone 用于iOS项目的XMLRPC iOS,iphone,ios,xcode,xml-rpc,ios5,Iphone,Ios,Xcode,Xml Rpc,Ios5,我疯了,我想不出来 我已经下载并尝试为iOS构建XMLRPC。我和他在一起 第一个,最初的一个,没有iOS目标。第二个应该有,但即使是那个似乎也不起作用 我使用XCode以以下方式构建XMLRPC iOS库: 下载,解压,在xcode中打开 进入“产品>归档”菜单 在organized中,我在最新版本上选择“共享” 我将其保存在自己的项目文件夹中。将其包括在项目中 当我构建自己的项目时,我得到: ld:警告:忽略文件 /Users/paulp/Documents/ios/iPhone/ios

我疯了,我想不出来

我已经下载并尝试为iOS构建XMLRPC。我和他在一起 第一个,最初的一个,没有iOS目标。第二个应该有,但即使是那个似乎也不起作用

我使用XCode以以下方式构建XMLRPC iOS库:

  • 下载,解压,在xcode中打开
  • 进入“产品>归档”菜单
  • 在organized中,我在最新版本上选择“共享”
  • 我将其保存在自己的项目文件夹中。将其包括在项目中
当我构建自己的项目时,我得到:

ld:警告:忽略文件 /Users/paulp/Documents/ios/iPhone/ios account/account/external/XMLRPC/libXMLRPC_ios.a, 文件是为存档而生成的,而存档不是要链接的体系结构 (i386)架构i386的未定义符号:
“_OBJC_CLASS_$_XMLRPCRequest”,引用自: MyAPI.o中的objc类引用
“_OBJC_CLASS_$_XMLRPCConnectionManager”,引用自: 在MyAPI.o ld:符号中找不到的objc类引用 架构i386 clang:错误:链接器命令失败,退出代码为1 (使用-v查看调用)

这怎么可能?XMLRPC iOS设置设置为:

  • SDKROOT=iphoneos5.0
  • ARCHS=$(ARCHS_标准_32_位)=armv7
  • IPHONEOS_部署_目标=5.0
  • 有效的ARCHS=armv6 armv7k armv7f armv7
  • 其他\代码\符号\标志=armv7k armv7f armv6 armv7
  • GCC_VERSION=com.apple.compilers.llvmgcc42
有人能为我解释一下如何在我自己的应用程序中构建和使用XMLRPC iOS库吗?
谢谢

我在一个iPhone项目中成功地使用了您提到的第一个。
他应该在工作。(不久前)

[编辑]
更多详情: 我导入了xmlrpresponse和XMLRPCEventBasedParser(+所有相关类都是为了让它们在项目中工作)

然后,下面是解析响应的代码(我是手工处理请求的):

NSURL*url=[NSURL URLWithString:@”http://www.xxxxxxxxx.fr/xmlrpc.php"];
NSMutableURLRequest*urlRequest=[NSMutableUrlRequestWithURL:url];
[urlRequestSetHttpMethod:@“POST”];
[urlRequest addValue:@“文本/xml”用于HttpHeaderField:@“内容类型”];
NSString*param=[NSString stringWithFormat:@“%f%f%.0f1”,
请求坐标纬度,
request.coordinate.longitude,
请求半径/1000.0];
NSString*xmlrpcReq=[NSString stringWithFormat:@“geoSearch%@”,参数];
[urlRequest setHTTPBody:[xmlrpcReq数据使用编码:NSUTF8StringEncoding];
NSURLResponse*响应;
n错误*错误;
NSData*内容=[NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&响应错误:&错误];
xmlrpresponse*rpresponse=[[xmlrpresponse alloc]initWithData:content];
如果([RpResponse faultCode]==0){
NSArray*结果=(NSArray*)[rpresponse对象];
干杯
Lionel。

我可以知道您正在设置什么目标吗?例如,如果您在iOS中使用三个可用目标,请选择libXMLRPC,然后构建,然后从构建中选择libXMLRPC.a文件,然后将其链接到我们的项目。然后它将运行。

它对我有效;下面就是我所做的

  • 创建新项目(称为RpcTest)
  • 从bitbucket下载forked项目,在我的RpcTest目录中提取zip,因此我的目录如下所示:

  • 将XMLRPC-iOS.xcodeproj拖到我的Xcode项目中(在Frameworks组下,但这并不重要)
  • 现在,到构建设置。在项目的构建设置中的用户标题搜索路径(取消选中递归)下添加kdbdallas-xmlrpc-ios-f28a13cc16ae;现在构建项目(cmd+B)
  • 转到构建阶段选项卡,展开目标依赖项,添加XMLRPC-IOS项目,展开带有库的链接二进制文件,添加libXMLRPC_IOS.a。
现在,您应该能够包含任何xmlrpc头并使用lib

希望有帮助

编辑
请注意:不完整的实现,只是一个xmlrpc工作的演示!;)

谢谢你回答lionel,尽管很遗憾,它根本帮不了我。如果你能解释一下你是如何让它为你的项目工作的,那就太棒了。我检查了我的旧项目,下面是我可以提取的;)太棒了,非常好的解释。我一定会给它一个try、 你能把它寄给我吗?Paul-at-Paul Peelen-dot-com。谢谢!我当然可以。我会把它上传到某个地方,并在原始答案中发布链接,这只会帮助其他有同样问题的人。@mja感谢你发布答案和代码。这真的很有帮助。我只想问这个项目有三个目标。你能帮助我如何解决这个问题吗分别执行ios版本(目标)。
NSURL* url = [NSURL URLWithString:@"http://www.xxxxxxxxx.fr/xmlrpc.php"];
NSMutableURLRequest* urlRequest = [NSMutableURLRequest requestWithURL:url];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest addValue:@"text/xml" forHTTPHeaderField:@"Content-Type"];
NSString* param = [NSString stringWithFormat: @"<param><value><double>%f</double></value></param><param><value><double>%f</double></value></param><param><value><double>%.0f</double></value></param><param><value><int>1</int></value></param>",
                   request.coordinate.latitude,
                   request.coordinate.longitude,
                   request.radius/1000.0];
NSString* xmlrpcReq = [NSString stringWithFormat:@"<?xml version=\"1.0\"?><methodCall><methodName>geoSearch</methodName><params>%@</params></methodCall>", param];
[urlRequest setHTTPBody:[xmlrpcReq dataUsingEncoding:NSUTF8StringEncoding]];
NSURLResponse* response;
NSError* error;
NSData* content = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error];
XMLRPCResponse* rpcResponse = [[XMLRPCResponse alloc] initWithData:content];
if ([rpcResponse faultCode]==0) { 
     NSArray* result = (NSArray*)[rpcResponse object];