2011-11-09 13 views
8

En PhoneGap en Android puede modificar la clase App.java para cargar cualquier url. No puedo encontrar ningún lugar para cambiar el punto de entrada en la versión de iOS.¿PhoneGap en iOS está codificado para cargar www/index.html?

Cuando pruebo, prefiero tener algunos directorios "www" con diferentes configuraciones. Por el momento necesito cambiar el nombre de los directorios, lo cual es un poco molesto.

Respuesta

5

Usted puede hacer esto:

Crear el index.html por defecto y tienen que envolver y cargar sus propios archivos raíz html, de esa manera usted puede mantener su propia estructura de directorios y no hay necesidad de hacer ninguna modificación allí.

Por supuesto, phonegap es de código abierto, por lo que también podría comprometerse a cambiar a phonegap para cambiar la API de iOS similar a Android API. Actualmente parece que la ruta del archivo raíz html se determina en la clase PhoneGapDelegate.m

+1

Ah ... Ahora lo veo en PhoneGapDelegate.m. Ok, eso responde mi pregunta. Y esa es una buena solución también. Las mejores notas. Gracias Hannes. – Tim

+1

Para otros ... el enlace a ese archivo es [aquí] (https://github.com/purplecabbage/phonegap-iphone/blob/master/PhoneGapLib/Classes/PhoneGapDelegate.m) – Tim

+0

ese enlace es ahora [aquí] (https://github.com/sintaxi/phonegap/blob/master/iphone/PhoneGapLib/Classes/PhoneGapDelegate.m) – Tim

8

PhoneGapDelegate.h define un método de clase startPage que puede sobrecargar/redefinir en el archivo AppDelegate.m de su aplicación iOS.

+ (NSString*) startPage; 

Por ejemplo:

+ (NSString*) startPage{ 
    return @"http://m.google.com"; 
} 

redefinirán la página de inicio en PhoneGap. Deberá agregar google.com a sus ExternalHosts en PhoneGap.plist. A partir de PhoneGap 1.2 Si hace esto e incluye complementos en su aplicación nativa, las aplicaciones PhoneGap de manera remota y sus * .js relacionados podrán preformar acciones de complementos. He probado esto con BarcodeScanner, ChildBrowser y ApplicationPreferences.

ACTUALIZACIÓN

A partir de 1.4.0 y 1.4.0, págInicio y wwwFolderName son propiedades en lugar de métodos. Todavía se pueden redefinir, pero ya no puede tener el punto de inicio de página en una instalación remota (no local) del teléfono como en mi ejemplo anterior. (Que es una especie de un rollo)

+0

sí, un problema, también leo que Apple rechazará tu aplicación si el código está alojado de forma remota, ¿cierto? ¿Hay alguna alternativa para que funcione el control remoto y Apple no lo rechace? – sonjz

+0

Según tengo entendido, ese ya no es el caso, y el código que mencionan es código nativo, no código JavaScript que se ejecuta en un UIWebView. Hay numerosos ejemplos que hacen esto. – mtwagner

+0

bueno escuchar, gracias por la aclaración – sonjz

14

A partir de PhoneGap 2.2, ahora se puede anular la etiqueta en su <content>config.xml:

<content src="http://www.example.com" /> 
+0

es tan simple. –

+0

¿No deberíamos poder configurar esto en el archivo predeterminado www/config.xml? Los cambios no se transfieren a los archivos config.xml de cada plataforma. – SgtPooki

1

que podría hacerlo

clase/AppDelegate.m

cambiar self.viewController.startPage a tu página de inicio en AppDelegate.m

Cuestiones relacionadas