Das Testpaket konnte aufgrund eines unerwarteten Fehlers nicht geladen werden
-
02-01-2020 - |
Frage
Vor kurzem habe ich begonnen, Testfälle für eine alte statische Bibliothek zu schreiben.Ich habe die Bibliothek auf Xcode 5 geladen. Da die statische Bibliothek alt ist, muss ich TestProject manuell mit Test Target hinzufügen.
Wenn ich „Produkt -> Test“ versuche, wird der Emulator gestartet und die Konsole zeigt den folgenden Fehler an
Das Testpaket at /xxx/xxx/xxx/staticliBtest.xctest konnte nicht geladen werden, da ein unerwarteter Fehler aufgetreten ist:Fehlerdomäne = NSCOCOArordomain -Code = 3587 "Das Bundle" staticLiBtest.xctest "konnte nicht geladen werden, da es beschädigt oder die erforderlichen Ressourcen fehlen." (dlopen_preflight (/xxx/xxxx/xxx/debug-iphonesimulator/staticliBtest.xctest/staticLiBtests):kein passendes Bild gefunden.Habe Folgendes gefunden:
Ich habe keine Ahnung, warum dieser Fehler auftritt.
Wir freuen uns sehr über jede Hilfe, die Ihnen dabei hilft, die richtige Richtung zu finden.
Lösung 4
Ich habe die Antwort von mir gefunden.
Ihre Build-Einstellungen -> Architekturen sollten für Bibliotheks- und Testprojekte gleich sein
Architekturen -> Architekturen= Standradarchitekturen (Armv7, Armv7s, Arm64) $ (Archs_standard)
Die Verknüpfung Ihres Testprojekts -> Mach-O-Typ sollte Bündel sein
Verknüpfung -> Mach-O-Typ= Bündel
Erstellen und ausführen Tests.Das ist es
Andere Tipps
Wenn andere Leser diesen Fehler erhalten und Sie Carthage zum Hinzufügen eines Frameworks verwenden, stellen Sie sicher, dass Copy Files
Phase ist mit Ziel:Rahmenwerke.
Wenn Sie die Frameworks versehentlich zu a hinzufügen Copy Files
Phase mit einem anderen Ziel (außer Frameworks) oder Copy Bundle Resources
, führt dies auch zur Fehlermeldung „Beschädigtes/ungültiges Bundle“.
Ich hatte ein ähnliches Problem.Für mich war das Problem ein Einheitsprüfungsrahmen, das ein dynamischer Rahmen war, aber nicht auf das Xktest-Bündel kopierte.
Die Lösung bestand darin, ein "Kopierdateien" -Phase-Phase zu meinem Einheitstest-Ziel hinzuzufügen, das Ziel auf "Frameworks" einstellen und mein Framework als Eingabedatei hinzufügen.
Für mich war dieses Problem auf die Einstellung "iOS-Bereitstellungsziel", die in meinem Testziel unterschiedlich ist als meine Haupt-App.Sobald ich sie gleich gemacht habe, ging das Problem weg.
Überprüfen Sie, ob Sie vergessen haben, Ihr Testziel in Ihr hinzuzufügen Podfile
:
target 'MyProject' do
# Add test target
target 'MyProjectTests' do
inherit! :search_paths
end
pod 'SomePodLibrary'
end
Die Bündel-UITESTS konnten nicht geladen werden, da es beschädigt ist oder die erforderlichen Ressourcen fehlen.Versuchen Sie, das Bündel erneut zu installieren
Überprüfen Sie, ob alle Ihre Ziele dieselbe iOS-Version verwenden: Build-Einstellungen -> IOS-Bereitstellungsziel
Ausschalten der Pod-Konfiguration für das Testziel, das das Problem für mich behoben hat, hatte es etwas mit der Pod-Konfiguration, die mit ihm verwaltet.
Für mich hatten wir nur Cloudkit-Berechtigungen eingeschaltet.Aus irgendeinem Grund, der das Gebäude brach.
hatte ein ähnliches Problem:
frameworka imports frameWewb
framework-tests importiert auch frameware
Was das Problem gelöst hat, bestand darin, alle Referenzen auf frameworkb in frameworka-tests zu entfernen
framework-tests Importierungen Importierungen framewb und läuft fein.