Estaba en una situación similar, y seguí la ruta del uso de Mongoose originalmente, pero hoy tropecé con CocoaHttpServer.
Con Mongoose, solo obtenía una tasa de éxito del 20% que proporcionaba archivos plist/IPA locales. Algunas veces, el diálogo localhost would like to install
nunca apareció, a veces la instalación comenzó y falló a la mitad, y en ocasiones funcionó. Peor aún, una vez que una aplicación falló, tuve que desinstalarla completamente y volver a instalarla, por lo que se perdieron todos los datos. Nunca pude "arreglar" con éxito una instalación fallida.
Hasta el momento, con casi 10-15 minutos de pruebas, el CocoaHttpServer no ha fallado todavía. Sé que este es un tamaño de muestra muy pequeño, pero mi tasa de éxito de Mongoose fue de alrededor del 10%.
self.httpServer = [[HTTPServer alloc] init];
[self.httpServer setType:@"_http._tcp."];
[self.httpServer setPort:8080];
//This is just a path where I save my IPA and Plist file locally.
//In my case it's /{NSDocumentDirectory}/install/
[self.httpServer setDocumentRoot:[self pathForLocalInstallFiles]];
A continuación, el URL para el plist en el disco:
NSURL *plistUrl = [NSURL URLWithString:@"itms-services://?action=download-manifest&url=http://localhost:8080/appname.plist"];
[[UIApplication sharedApplication] openURL:plistUrl];
Dentro de la plist, donde tiene su dirección URL que apunta al archivo IPA local, me tuvo éxito utilizando file://
o http://localhost/
.
El tamaño del archivo no debería ser un gran problema, ya que solo el plist debería estar alojado por MongooseDaemon, y la IPA podría seguir viviendo en otro lugar de la web. – fischerdan