plugin permisos full ios cordova ios7 inappbrowser

permisos - No se puede usar el complemento InAppBrowser para Phonegap 3.1 en iOS 7



ionic 3 whitelist (4)

ACTUALIZACIÓN: prueba la respuesta de Barryrowe a continuación antes de recurrir a la recreación de un nuevo proyecto. Es una solución simple y fácil de seguir que parece funcionar bien. Gracias Barry!

Me he encontrado con un error similar varias veces después de eliminar complementos y volver a instalarlos. La única solución que me ha funcionado es volver a empezar con un nuevo proyecto de aplicación, luego copiar de nuevo en los archivos de mi carpeta ''www'' y volver a hacer los cambios necesarios en Xcode.

Mirando https://issues.apache.org/jira/browse/CB-4971 parece que este es un error que el equipo de Cordova está tratando de rastrear. Ese enlace tiene algunas sugerencias alternativas, pero comenzar de nuevo todavía es probablemente más fácil, a menos que su aplicación tenga muchos cambios personalizados de Xcode que tendrían que volver a realizarse.

No estoy tan familiarizado con los manubrios, pero su código parece tener una coma y espacio extra después de {{this.url}} . Pero creo que su problema principal está relacionado con el plugin en sí, no con el código.

Por cierto, si ha instalado correctamente el complemento InAppBrowser con la línea de comandos, no necesitará modificar manualmente el archivo config.xml, ya que el código del complemento necesario se agregará automáticamente a los archivos config.xml del archivo relevante. plataformas la próxima vez que construyas tu proyecto.

Estoy en el proceso de portar una aplicación iOS que construí usando Phonegap a iOS7 con Phonegap 3.1 y me encontré con un pequeño problema.

iOS 7 parece haber hecho algunos cambios significativos en que los hipervínculos con el target="_blank" attribute ahora se abren por defecto dentro de la propia aplicación, en lugar de en el navegador del sistema (esto no parece suceder en Android o versiones anteriores) de iOS, sin embargo). Esto ha roto parte de la funcionalidad de la aplicación, y necesito corregir esto.

Usar el complemento InAppBrowser parece ser el camino a seguir, así que instalé el complemento. He modificado mi config.xml para incluir esto:

<feature name="InAppBrowser"> <param name="ios-package" value="CDVInAppBrowser" /> </feature>

Y el enlace en la plantilla ahora se ve así (tenga en cuenta que estoy usando manubrios como el sistema de plantillas aquí):

<a href="#" onclick="window.externalbrowser = window.open(''{{this.url}}, '', ''_system'', ''location=yes'');" data-transition="slide"> <img alt="Favicon" style="border: 1px solid #ccc;" title="Favicon" class="ui-li-icon" src="{{this.favicon_url}}"></img> <p style="font-size: 100%"><strong>Submitted {{this.whenSubmitted}}</strong><br />Last changed {{this.lastChanged}}</p> </a>

Cada vez que hago clic en el enlace, no se abre y aparece el siguiente error en los registros:

Plugin ''InAppBrowser'' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml. 2013-11-08 10:22:56.753 MyApp[197:60b] -[CDVCommandQueue executePending] [Line 117] FAILED pluginJSON = [ "InAppBrowser814285423", "InAppBrowser", "open", [ "http:////www.site.co.uk//deals-offers-savings//b?ie=UTF8&node=350613011&tag=page0e-21,", "_system", "location=yes" ] ]

También hay una serie de advertencias de CDVInAppBrowser.m sobre el archivo fuente CDVInAppBrowser.m .

No puedo ver por qué mi plugin no está siendo recogido. ¿Alguien más puede sugerir cuál podría ser el problema?


Por alguna razón, org.apache.cordova.inappbrowser no parecía funcionar con mi aplicación, tal vez una actualización o algo que rompió la funcionalidad. El complemento estaba presente como se sugirió @ star18bit, pero creo que mi problema era la compatibilidad.

Eliminé el complemento existente:

cordova plugin remove org.apache.cordova.inappbrowser

Reinstalado usando cordova-plugin-enppbrowser :

cordova plugin add cordova-plugin-inappbrowser

Después de una ionic build ios y relanzamiento, el problema se resolvió.


Encontré una verdadera solución para esto sin tener que volver a crear el proyecto. basado en esta respuesta: preguntas y respuestas similares

Parece que esto sucede porque a veces los archivos del proyecto xcode no se actualizan después de agregar / eliminar complementos. Todos los archivos están en su lugar, y el archivo config.xml está en orden, pero el proyecto xcode no marca los nuevos archivos del complemento como el destino de la aplicación.

Solución:

  1. Abra su proyecto en xcode
  2. Navegue hasta el archivo de complemento en cuestión (archivo CDV * .m)
  3. En el menú de la derecha, en la sección "Membresía de destino", asegúrese de que la casilla de verificación esté marcada para su aplicación.

Es una solución fácil:

También debe haber un directorio org.apache.cordova.inappbrowser dentro de /plugins/ y /platforms/ios/myApp/Plugins/ folders. Debería verse así:

-----/org.apache.cordova.inappbrowser ---------/CDVInAppBrowser.h ---------/CDVInAppBrowser.m