Cómo agregar CocoaHTTPServer a un proyecto de iOS en XCode 4

Estoy tratando de agregar CocoaHTTPServer a mi proyecto. Encontré muchos problemas en el path: mi problema (agregar CocoaHTTPServer a un proyecto (y hacerlo funcionar)) todavía está ahí, pero también he incluido los errores y las soluciones que encontré en el path para reference de otros.

Primero miré los tutoriales sobre cómo agregar un marco, pero no parecía un marco.

Luego hice clic derecho en mi proyecto (en la barra lateral izquierda), y lo agregué manualmente con "agregar files". Seguí el ejemplo SimpleHTTPServer pero obtuve un error "cocoa / cocoa.h" no encontrado. Busqué y encontré que Cocoa es para mac y no para iOS. Pero la descripción de CocoaHTTPServer también habla sobre las aplicaciones de iOS, así que simplemente eliminé la carpeta de samples (el error venía del ejemplo DynamicHTTPServer si lo recuerdo).

Luego obtuve un error "Léxico o preprocesador libxml / parser.h no encontrado". Intenté agregarlo como marco, pero eso no funcionó. Encontré este tutorial sobre cómo agregar libxml a la ruta de búsqueda del encabezado (al final), pero terminé con 46 errores "Apple Mach-O Linker Error _CFHTTPMessage …", y decidí hacer mi pregunta aquí. Probé esta respuesta pero obtuve muchos errores de Apple Mach-O Linker

Agregué los frameworks CFNetwork y Security (project => build phases => link binary con bibliotecas), y me quedé con 2 errores:

ld: warning: path '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/usr/lib/libxml2.dylib' following -F not a directory Undefined symbols for architecture i386: "_NSlog", referenced from: -[AppDelegate application:didFinishLaunchingWithOptions:] in AppDelegate.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Veo i386 que es Intel, y no la architecture ARM en iDevices. Sin embargo, el verdadero problema fue que NSLog mal NSLog (mire cuidadosamente: no estaba en mayúscula en el post de error). Cuando busqué en Google esto, es posible que falten otras posibles causas.

Ahora comstack. Cuando ejecuto la aplicación de ejemplo, obtengo el "server iniciado en el puerto X" y cuando voy a localhost:X obtengo la pantalla de bienvenida / éxito. Cuando hago lo mismo en mi proyecto, sigo recibiendo los posts de "server iniciado en puerto X", pero cuando voy a localhost:X el browser muestra posts "no se puede conectar". No hay errores en la console XCode.

No hay errores de [httpServer start:&error] y httpServer.isRunning es verdadero.


Entonces, ¿cuál es la mejor manera de agregar CocoaHTTPServer a mi proyecto? En términos de una configuration limpia, por ejemplo, cuando inspecciono el proyecto de iPhone de ejemplo, no veo ninguno de los pasos complicados para agregar libxml, ni siquiera veo libxml en ninguna parte. Y en términos de configuration de todo para que realmente funcione y sirva files. En este momento, estoy sospechando que puede haber algunas configuraciones de proyecto que deben habilitarse para que realmente sea un server.

Al agregar los files externos, ¿ha verificado su proyecto como un "objective de compilation"?

Un error común