Proyecto XMLRPC-iOS para iOS

Me estoy volviendo loca, no puedo entenderlo.

He descargado e bash crear XMLRPC para iOS. Comprendo con https://github.com/eczarny/xmlrpc y https://bitbucket.org/kdbdallas/xmlrpc-ios/wiki/Home El primero, el original, no tiene un objective de iOS. el segundo debería tener, pero incluso eso no parece funcionar.

Construyo XMLRPC-iOS lib usando XCode de la siguiente manera:

  • download, descomprimir, abrir en xcode
  • Ir al menu Producto> Archivo
  • En organizado, elijo "Compartir" en la última versión
  • Lo guardo en mi propia carpeta de proyecto. Inclúyalo en el proyecto.

Cuando construyo mi propio proyecto obtengo:

ld: warning: ignorando el file /Users/paulp/Documents/ios/iPhone/ios-account/Account/external/XMLRPC/libXMLRPC_iOS.a, el file se creó para el file que no es la architecture que se está vinculando (i386) Símbolos no definidos para la architecture i386:
"_OBJC_CLASS _ $ _ XMLRPCRequest", referencedo de: objc-class-ref en MyAPI.o
"_OBJC_CLASS _ $ _ XMLRPCConnectionManager", referencedo desde: objc-class-ref en MyAPI.o ld: símbolo (s) no encontrado para la architecture i386 clang: error: el command linker falló con el código de salida 1 (use -v para ver la invocación)

¿Cómo es eso posible? La configuration de XMLRPC-iOS se establece en:

  • SDKROOT = iphoneos5.0
  • ARCHS = $ (ARCHS_STANDARD_32_BIT) = armv7
  • IPHONEOS_DEPLOYMENT_TARGET = 5.0
  • VALID_ARCHS = armv6 armv7k armv7f armv7
  • OTHER_CODE_SIGN_FLAGS = armv7k armv7f armv6 armv7
  • GCC_VERSION = com.apple.compilers.llvmgcc42

¿Alguien me puede explicar cómo puedo build y usar la biblioteca XMLRPC-iOS en mi propia aplicación? ¡Gracias!

    me funcionó; aquí es exactamente lo que hice.

    • Cree un nuevo proyecto (llamado RpcTest)
    • Descargue el proyecto bifurcado de bitbucket, extraiga el zip en mi directory RpcTest, por lo que mi directory se ve así:

    estructura de directorios

    • Arrastre el file XMLRPC-iOS.xcodeproj a mi proyecto Xcode (en el grupo Marco, pero esto no importa)
    • Ahora, a la configuration de compilation. Agregue kdbdallas-xmlrpc-ios-f28a13cc16ae en Rutas de búsqueda del encabezado de usuario (desmarque recursivo) en la configuration de generación de su proyecto; ahora construye tu proyecto (cmd + B)
    • vaya a la pestaña Crear Fases , amplíe Dependencias de destino , agregue el proyecto XMLRPC-IOS , expanda Enlace binary con bibliotecas, agregue libXMLRPC_iOS.a. introduzca la descripción de la imagen aquí

    Ahora debería poder include cualquier encabezado xmlrpc y usar la lib.

    Espero que ayude.

    EDITAR Descarga a través de Dropbox. Se aconseja: implementación incompleta, ¡solo una demostración que funciona con xmlrpc! 😉

    He usado el primero que mencionas https://github.com/eczarny/xmlrpc con éxito en un proyecto de iPhone.
    Debería estar funcionando. (fue hace un time)

    [EDITAR]
    Algunos detalles más: Importé XMLRPCResponse y XMLRPCEventBasedParser (+ todas las classs relacionadas para que funcionen desde el proyecto).

    Entonces, aquí está el código para analizar una respuesta (estaba haciendo la request a mano):

    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]; 

    Saludos Lionel.

    ¿Puedo saber qué objective estás configurando? por ejemplo, tres objectives disponibles, si utiliza iOS, select libXMLRPC y compile, luego select los files libXMLRPC.a de la compilation y luego conéctela a nuestro proyecto. entonces se ejecutará.