web-dev-qa-db-fra.com

Les UITests de bundle n’ont pas pu être chargés car des ressources nécessaires sont endommagées ou manquantes. Essayez de réinstaller le paquet

Je ne peux pas exécuter mon scénario de test à cause des erreurs suivantes: 

  • Le paquet «UITests» n’a pas pu être chargé car il contient des ressources endommagées ou manquantes. Essayez de réinstaller le paquet.
  • Bibliothèque non chargée: @ rpath/Alamofire.framework/Alamofire.
  • Raison: image non trouvée

Essayez de chercher et de résoudre depuis deux jours, mais vous n’avez pas pu résoudre ce problème, veuillez vous aider. 

32
user2273146

J'ai pu reproduire ce problème avec le projet généré par Xcode 10.1. J'ai utilisé Swift 4.2 et CocoaPods en tant que gestionnaire de dépendance. J'ai eu le Podfile suivant:

# Uncomment the next line to define a global platform for your project
platform :ios, '10.0'

target 'MyApp' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for MyApp
  pod 'Alamofire', '4.8.1'

  target 'MyAppTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'MyAppUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

Puis j'ai enlevé use_frameworks!, voir ce lien pour plus de détails:

# Uncomment the next line to define a global platform for your project
platform :ios, '10.0'

target 'MyApp' do

  # Pods for MyApp
  pod 'Alamofire', '4.8.1'    

  target 'MyAppTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'MyAppUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

J'ai aussi reçu des avertissements comme celui-ci:

[!] The `MyAppUITests [Debug]` target overrides the `ALWAYS_EMBED_Swift_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/Pods-MyApp-MyAppUITests/Pods-MyApp-MyAppUITests.debug.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

C'est pourquoi j'ai supprimé cette ligne des paramètres de construction de MyAppuitests:

 MyAppUITests build settings

Après cela, lancez pod deintegrate && pod install puis le problème disparaîtra . Probablement pour les projets avec plus de dépendances (comme ici ) vous devez utiliser une autre solution.

17
Roman Podymov

Je devais ajouter l'emplacement de mes infrastructures dans Chemin de recherche Runpath sous cibles> mytestTarget> Paramètres de construction> Chemin de recherche Runpath

5
Martin O'Shea

Vérifiez que la cible de déploiement dans les paramètres de construction de votre cible UITest est identique à celle de l'application hôte que vous essayez de tester. Dans mon cas, j’ai ajouté la cible UITesting ultérieurement, et elle l’a créée avec une cible de déploiement par défaut, iOS 12. Si vous essayez ensuite d’exécuter UITest sur iOS inférieur à 12, l’erreur mentionnée dans la question m’a été renvoyée.

4
Samuël

C'est parce que vos modules s'appliquent uniquement à votre cible Framework et non à ceux de test. Ajoutez la cible de tests à votre podfile.

Exemple :

target 'MyFramework' do
  use_frameworks!
  pod 'Alamofire', '~> 4.5'
end

target 'MyFrameworkTests' do
  use_frameworks!
  pod 'Alamofire', '~> 4.5'
end
4
Anthony

Le passage au système de construction hérité a résolu ce problème avec Xcode 10.

0
YMonnier

Mon problème a été résolu en suivant les étapes suivantes: 1) supprimez la cible UITests du fichier pod. Initialement, le fichier pod contenait les informations suivantes: 

target 'XUITests' do
    inherit! :search_paths   
end

2) Désintégration des gousses (avec désintégration des gousses) 

3) Installer les pods (avec pod install) 

4) Nettoyez votre projet et lancez le projet ou votre UITest 

0
Melkon

 1

 2[![3 ] 3

  1. Aller à construire des phases
  2. Ouvrir Copy Pods Resources et copier le chemin
  3. Collez le chemin que vous avez copié à partir de Copy Pods Resources et modifiez les ressources de nom de balise avec des frameworks.
  4. Nettoyer et construire
  5. Exécutez votre fichier UITests
0
user2273146

J'ai pu résoudre ce problème en suivant la réponse de Roman Podymov puis en exécutant pod deintegrate puis pod install

0
Carl Burnham