ios - Impossible d'exécuter l'application sur le simulateur après l'installation de Xcode 11-erreur CFBundleVersion




xcode10 xcode11 (6)

Ajoutant à cela, j'ai remarqué que si votre CFBundleVersion ne spécifie pas pour:

This key is a machine-readable string composed of one to three period-separated integers, such as 10.14.1. The string can only contain numeric characters (0-9) and periods. il ne construira pas sur simulateur

link

Hier, j'ai téléchargé la version bêta de Xcode 11. Après cela, j'ai ouvert mon projet et essayé de lancer Xcode. Malheureusement, une erreur s'est produite avec le message:


Failed to install the requested application
Domain: NSPOSIXErrorDomain
Code: 22
Failure Reason: The application's CFBundleVersion is invalid.
Recovery Suggestion: Ensure your bundle contains a CFBundleVersion with a valid semantic version number.
--

J'ai fermé la version bêta et essayé de fonctionner à nouveau avec la dernière version stable de Xcode (10.2.1), mais la même erreur s'est produite. Je dois mentionner qu'avant d'essayer de lancer un projet avec Xocde 11, cela fonctionnait sans problème avec Xcode 10. Rien n'a été modifié avant et après l'exécution avec la version bêta Xcode.

Ce que j'ai déjà essayé

  • J'ai supprimé Xcode 11 beta
  • J'ai nettoyé mon projet et l'ai extrait de la dernière branche
  • J'ai complètement supprimé Xcode 10 de:
~/Library/Caches/com.apple.dt.Xcode
~/Library/Developer
~/Library/MobileDevice
~/Library/Preferences/com.apple.dt.Xcode.plist
/Library/Preferences/com.apple.dt.Xcode.plist
/System/Library/Receipts/com.apple.pkg.XcodeExtensionSupport.bom
/System/Library/Receipts/com.apple.pkg.XcodeExtensionSupport.plist
/System/Library/Receipts/com.apple.pkg.XcodeSystemResources.bom
/System/Library/Receipts/com.apple.pkg.XcodeSystemResources.plist
  • Et puis installé la nouvelle version stable 10.2.1

Je peux exécuter sans problèmes d'autres projets qui n'ont pas été testés avec Xcode 11.

Ma dernière idée est de simplement réinstaller macOS, mais j'aimerais ne pas le faire.

Edit: j'ai oublié de mentionner que l'application fonctionne sur l'iPhone XS physique.


C'est une nouvelle fonctionnalité dans Xcode11.

Dans la note de version, il était écrit:

Les ensembles sans CFBundleVersion ne sont pas valides et ne peuvent pas être installés correctement sur des appareils ou des simulateurs. CoreSimulator vérifie et rejette ces ensembles plus tôt dans le processus avec un message d'erreur plus clair. (49892531)

Vous pouvez:

  1. Editez votre CFBundleVersion par le style de ce link
  2. Réinitialiser votre Xcode et votre simulateur
  3. Exécutez à nouveau, vous verrez que cela fonctionne à nouveau

Lorsque vous exécutez une application avec succès dans le simulateur, vous pouvez redéfinir votre version de CFBundleVersion. Vous constaterez qu’elle peut toujours fonctionner. XD


Combinaison des réponses de Sgeven.Zheng et de Cristik.

CAUSE

L'installation de Xcode11 Beta installe une nouvelle version de CoreSimulator.framework avec la mise à jour suivante:

https://developer.apple.com/documentation/xcode_release_notes/xcode_11_beta_release_notes

"Les ensembles sans CFBundleVersion ne sont pas valides et ne peuvent pas être installés correctement sur des périphériques ou des simulateurs. CoreSimulator vérifie et rejette ces ensembles plus tôt dans le processus avec un message d'erreur plus clair. (49892531)"

Ce qui suit ne résoudra pas le problème:

  • Désinstallation de Xcode11 Beta
  • Désinstallation et réinstallation de Xcode 10

Ceci est dû au fait que CoreSimulator.framework est installé dans /Library/Developer/PrivateFrameworks/CoreSimulator.framework , qui se trouve en dehors du bundle Xcode.app . Une fois réinstallé, xcode10 détecte que la version actuellement installée de CoreSimulator.framework est plus récente que celle que xcode10 aurait installée. Il reste donc tel quel.

FIXATION A COURT TERME

  1. Désinstaller xcode11
  2. Installez Xcode 10 (pas besoin de ré-installer s'il est déjà installé)
  3. Supprimer /Library/Developer/PrivateFrameworks/CoreSimulator.framework
  4. Lancez Xcode 10 et acceptez d'installer des outils de ligne de commande

FIXATION À LONG TERME

Comme il ne s'agit pas d'un "vrai" bogue, mais bien du comportement souhaité par Xcode11, il faudra éventuellement prendre des mesures pour garantir que les applications sont toujours construites avec une version valide de CFBundleVersion .


Dans mon cas, il exécutait la version simulateur / coresimulateur pour la version 11 bêta par rapport à celle pour 10.1 -> Tuer et laisser Xcode rouvrir le simulateur a résolu le problème.


J'ai eu le même problème. Je trouve que les notes de version de Xcode 11 bêta l’ont expliqué.

Bundles without a CFBundleVersion are invalid and cant be properly installed on 
devices or simulators. CoreSimulator now checks and rejects such bundles earlier in
the process with a clearer error message. (49892531)

Et ce link est le format de CFBundleVersion.

Lorsque j'ai résolu ce problème, j'ai découvert si j'avais le problème CFBundleVersion lors de l'exécution de App pour la première fois. Ensuite, il y a toujours un problème, que le format soit correct ou non. Donc, je redémarre le Xcode et le simulateur, et change le format correct de CFBundleVersion, l'application fonctionnant correctement.


J'ai rencontré ce même problème aussi.

Je ne suis pas allé assez loin pour essayer certaines des autres options fournies ici, mais j'ai pu revenir à la construction pour simulateur en supprimant simplement le répertoire / DerivedData.

Si vous ne savez pas où le trouver, procédez simplement comme suit: Xcode -> Préférences -> Emplacements et sélectionnez la flèche en regard du chemin d'accès aux données dérivées.





xcode11