J'ai publié ceci comme un bogue sur le site de rapport de bogue d'Apple. J'ai pensé publier ici aussi et voir ce que je peux trouver pour résoudre ce problème ...
Débogage de WKWebView avec Xcode à l'aide de Web Inspector dans Safari. J'utilise la version MacOS Mojave: 10.14.3 (18D42).
Après avoir laissé la mise à niveau de Xcode s'exécuter (Version 10.2 (10E125)), lorsque je choisis l'option Périphérique appropriée dans le menu [Développer] de Safari (Version 12.0.3 (14606.4.5) de Safari), l'inspecteur Web apparaît alors exécutez l'application comme avant, mais elle s'affiche comme essentiellement vide et inutile.
1- démarrer l'application iOS dans le simulateur qui a un WKWebView qui affiche avec succès une page Web contenant du JavaScript exécutable (Figure 1) Ici, j'ai choisi le simulateur iPhone 6 dans Xcode
. (Figure 2) Application exécutée dans le simulateur ... WKWebView prend tout l'écran
. Écran (Figure 3) après avoir cliqué sur le bouton [Exécuter le code de démarrage de la base de données] (notez les nouvelles informations sous "Informations sur le test:")
. (Figure 4) Code JS qui s'exécute lorsque ce bouton est cliqué.
. 2-Allez dans la fenêtre Safari et choisissez le menu [Développer].
3- Choisissez l'option Simulator pour l'appareil comme: Simulateur - iPhone 6 - iOS 12.2 (16E226)
4- Choisissez l'option "index.html" (Figure 5) Option de sélection dans Safari après le démarrage de l'application dans iPhone Simulator
.
5- Web Inspector apparaît, mais aucune des ressources de la page n'est répertoriée (y compris index.html) (Figure 6) Inspecteur Web mis en place ... c'est l'onglet Débogueur. Rien n'apparaît.
.
(Figure 7) Inspecteur Web, onglet Ressources ... également vide. Cliquer sur le bouton Actualiser au-dessus de l'onglet Réseau ne fait rien.
.
6 - Cliquer sur le bouton d'actualisation de l'inspecteur Web ne fait rien
Ressources à charger, pour pouvoir définir des points d'arrêt sur des lignes de code JavaScript. pour avoir le code JS arrêté sur n'importe quel débogueur; déclaration pour pouvoir parcourir le code JS et examiner les valeurs des variables JS actuelles.
Comme dit précédemment, la fenêtre de l'inspecteur Web apparaît pratiquement vide (comme s'il n'y avait aucune page chargée dans WKWebView (même s'il y en a et que je peux voir visuellement que le code JS s'exécute lorsque je clique sur les boutons de l'interface de test).
Remarque: si j'essaie de fonctionner sur un appareil connecté, AUCUNE option n'apparaît dans le menu [Développeur] de Safari!
5 Réponses :
J'ai réussi à le résoudre en mettant à jour le système d'exploitation vers 10.14.4 et en conséquence le Safari vers 12.1.
Cela l'a fait! J'ai mis à jour le système d'exploitation et tout a fonctionné. Merci pour l'aide!
J'ai eu le même problème avec un appareil distant (le simulateur ne fonctionnait pas non plus). Une mise à jour système de mon macOS (y compris Safari) l'a corrigé pour moi.
Il semble que la dernière mise à jour iOS Safari était incompatible avec le dernier macOS Safari.
Rien n'a fonctionné pour moi ... mais j'ai ensuite trouvé Safari Technology Preview https: // developer.apple.com/safari/technology-preview/ - l'installation de cette dernière version de safari a fait l'affaire pour moi.
Après la mise à jour vers iOS 13 et Safari 13, l'iPhone connecté n'apparaît pas non plus dans Safari. La solution était aussi pour moi, d'effacer les ordinateurs de confiance sur l'iPhone sous les paramètres du développeur et de reconnecter l'iPhone: effacez les ordinateurs de confiance sur l'iPhone