11
votes

Impossible d'utiliser le plug-in inapprowser pour PhoneGap 3.1 sur iOS 7

Je suis dans le processus de portage d'une application iOS I dans laquelle j'ai construit à l'aide de téléphonesGap vers iOS7 avec PhoneGap 3.1 et j'ai rencontré un petit problème.

iOS 7 semble avoir apporté des changements importants dans les liens hypertextes avec le cible = "_ vide" attribut code> est maintenant ouvert par défaut dans l'application elle-même, plutôt que dans le navigateur système (cela ne semble pas se produire sur Android, ou des versions précédentes de iOS, cependant). Cela a cassé une partie de la fonctionnalité de l'application, et j'ai besoin de corriger cela. P>

Utilisation du plug-in InAppBrowser semble être la voie à suivre, donc j'ai installé le plugin. J'ai modifié mon config.xml pour inclure ceci: p> xxx pré>

et le lien dans le modèle ressemble maintenant à ceci (veuillez noter que j'utilise le guidon comme système de modèles ici. ): P>

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


0 commentaires

4 Réponses :


3
votes

Mettre à jour - essayez la réponse de Barryrowe ci-dessous avant de recourir à la recréation d'un nouveau projet. C'est une solution simple et facile à suivre qui semble bien fonctionner. Merci Barry!

J'ai rencontré une erreur similaire plusieurs fois après avoir retiré les plugins et les réinstaller. La seule solution qui ait jamais travaillé pour moi est de recommencer à nouveau avec un nouveau projet d'application, puis de copier dans les fichiers de mon dossier 'www' et de refaire les modifications nécessaires dans Xcode.

regarder https://issues.apache.org/jira/browse/cb- 4971 Cela semble être un bug que l'équipe Cordova essaie de suivre. Ce lien a des suggestions alternatives, mais le démarrage de nouveau est toujours plus facile, à moins que votre application ait beaucoup de changements de Xcode personnalisés qui devraient être réinstallés.

Je ne suis pas aussi familier avec guidon, mais votre code semble avoir une virgule supplémentaire et un espace après {{this.url}} . Mais je pense que votre problème principal est lié au plugin lui-même, et non au code.

Au fait, si vous avez installé le plug-in InAppBrowser correctement à l'aide de la ligne de commande, vous n'aurez pas besoin d'altérer manuellement le fichier config.xml, car le code du plug-in nécessite automatiquement des fichiers config.xml. des plates-formes pertinentes lorsque vous construisez votre projet.


2 commentaires

J'ai fait ce que vous avez fait ce que vous avez suggéré, et cela résolu la question (bien que cela ait entraîné beaucoup de maudire ...) et l'application est actuellement en attente d'examen. Je prévois de passer à la construction de téléphones dans un avenir très proche, j'espère donc que les choses devraient rendre les choses un peu plus faciles.


Il s'agit d'un problème avec le problème du paramètre de projet Xcode et peut être résolu sans recréer l'application. Voir ma réponse ci-dessous. Cela a à voir avec "Adhésion cible"



26
votes

J'ai trouvé une véritable solution pour cela sans avoir à recréer le projet. Basé sur cette réponse: Question et réponses similaires

Il apparaît que cela se produit car parfois les fichiers du projet Xcode ne sont pas mis à jour après avoir ajouté / supprimer des plugins. Tous les fichiers sont en place et le fichier config.xml est en ordre mais le Le projet Xcode ne marquait pas les nouveaux fichiers de plugin comme ciblant l'application.

Entrez la description de l'image ici

solution:

  1. Ouvrez votre projet en Xcode
  2. Naviguez jusqu'au fichier de plug-in en question (fichier CDV * .m)
  3. Dans le menu de droite, sous la section "Adhésion cible", assurez-vous que la case à cocher est cochée pour votre application.

    Entrez la description de l'image ici


0 commentaires

1
votes

C'est un correctif facile:

Il devrait également y avoir un répertoire org.apache.cordova.inappbrowser dans votre / plugins / et / plates-formes / iOS / myApp / plugins / < / code> dossiers. Il devrait ressembler à: xxx


0 commentaires

0
votes

Pour une raison quelconque, org.apache.cordova.inappbrowser ne semblait pas fonctionner avec mon application - peut-être une mise à niveau ou quelque chose qui a cassé la fonctionnalité. Le plugin était présent comme @ Star18bit suggéré, mais je pense que mon problème était la compatibilité.

J'ai supprimé le plugin existant: xxx

réinstallé à l'aide de Cordova-plugin-inapprowser : xxx

après un Ionic Build iOS et relance, le problème a été résolu.


0 commentaires