我变得疯狂,我无法理解。
我已下载并尝试为iOS构建XMLRPC。我与https://github.com/eczarny/xmlrpc和https://bitbucket.org/kdbdallas/xmlrpc-ios/wiki/Home进行了交涉 第一个是原始的,没有iOS目标。第二个应该,但即使那个似乎也不起作用。
我使用XCode以下列方式构建XMLRPC-iOS lib:
当我建立自己的项目时,我得到:
ld:警告:忽略文件 /Users/paulp/Documents/ios/iPhone/ios-account/Account/external/XMLRPC/libXMLRPC_iOS.a, 文件是为存档而构建的,而不是链接的体系结构 (i386)架构i386的未定义符号:
“_OBJC_CLASS _ $ _ XMLRPCRequest”,引自: MyAPI.o中的objc-class-ref “_OBJC_CLASS _ $ _ XMLRPCConnectionManager”,引自: MyAPI.o中的objc-class-ref:未找到符号 体系结构i386 clang:错误:链接器命令失败,退出代码为1 (使用-v查看调用)
怎么可能? XMLRPC-iOS设置设置为:
有人可以向我解释如何在我自己的应用程序中构建和使用XMLRPC-iOS库吗? 谢谢!
答案 0 :(得分:10)
现在您应该能够包含任何xmlrpc标头并使用lib。
希望有所帮助。
修改强> Download via Dropbox. 建议:不完整的实现,只是一个xmlrpc工作的演示! ;)
答案 1 :(得分:0)
我在iPhone项目中成功使用了你提到https://github.com/eczarny/xmlrpc的第一个 应该工作。 (就在不久前)
[编辑]
更多细节:
我导入了XMLRPCResponse和XMLRPCEventBasedParser(+所有相关的类以使它们在项目中工作)。
然后,这是解析响应的代码(我正在手动执行请求):
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];
干杯 梅西。
答案 2 :(得分:0)
我可以知道你设定的目标是什么吗?例如,三个目标可用,如果您使用iOS,请选择libXMLRPC然后构建然后从构建中选择libXMLRPC.a文件,然后将其链接到我们的项目。然后它会运行。