تعذر تحميل حزمة الاختبار بسبب حدوث خطأ غير متوقع
-
02-01-2020 - |
سؤال
لقد بدأت مؤخرًا في كتابة حالة اختبار لمكتبة ثابتة قديمة.لقد قمت بتحميل المكتبة إلى Xcode 5، نظرًا لأن المكتبة الثابتة قديمة، فلا بد لي من إضافة TestProject يدويًا باستخدام Test Target.
عندما أحاول "المنتج-->اختبار"، يقوم بتشغيل المحاكي وتظهر وحدة التحكم الخطأ التالي
لا يمكن تحميل حزمة الاختبار at /xxx/xxx/xxx/staticlibtest.xctest لأن خطأ غير متوقع حدث:NROR DOMAIN = NSCOCOARRORDOMAIN CODE = 3587 "لا يمكن تحميل حزمة" StaticLibtest.xctest "لأنها تالفة أو مفقودة الموارد اللازمة." (dlopen_preflight (/xxx/xxxx/xxx/debug-iponesimulator/staticlibtest.xctest/staticlibtests):لم يتم العثور على صورة مناسبة.هل وجدت:
ليس لدي أي فكرة عن سبب حدوث هذا الخطأ.
أي مساعدة للإشارة إلى الاتجاه الصحيح سيكون موضع تقدير حقًا.
المحلول 4
وجدت الإجابة بنفسي.
إعدادات البناء الخاصة بك -> يجب أن تكون الهندسة نفسها لمشروع المكتبة والاختبار
الهندسة المعمارية -> الهندسة المعمارية= الهندسة الاستردادية (ARMV7، ARMV7S، ARM64) $ (Archs_standard)
ربط مشروع الاختبار الخاص بك -> يجب أن يكون نوع mach-o حزمة
ربط -> mach-o type= bundle
قم ببناء وتشغيل الاختبارات.هذا هو
نصائح أخرى
إذا حصل القراء الآخرون على هذا الخطأ، وكنت تستخدم Carthage لإضافة إطار عمل، فتأكد من ذلك Copy Files
المرحلة مع وجهة:إطار أعمال.
إذا قمت بإضافة الإطارات عن طريق الخطأ إلى ملف Copy Files
مرحلة بهدف مختلف (بخلاف الأطر)، أو Copy Bundle Resources
, سيؤدي ذلك أيضًا إلى ظهور رسالة خطأ الحزمة التالفة/غير الصالحة.
كان لدي مشكلة مماثلة.بالنسبة لي، كانت المشكلة إطار اختبار الوحدة الذي كان إطارا ديناميكيا ولكنه لم يتم نسخه إلى حزمة XCTEST.
كان الحل لإضافة مرحلة "نسخ ملفات" إلى هدف اختبار الوحدة الخاص بي، اضبط وجهتها على "الأطر" وإضافة إطاري كملف إدخال.
بالنسبة لي كانت هذه المشكلة بسبب إنشاء إعداد "هدف نشر iOS" يختلف في هدف الاختبار الخاص بي من تطبيقي الرئيسي.بمجرد أن أجعلتهم نفس المشكلة ذهبت بعيدا.
تحقق مما إذا كنت قد نسيت إضافة هدف الاختبار الخاص بك في ملفك Podfile
:
target 'MyProject' do
# Add test target
target 'MyProjectTests' do
inherit! :search_paths
end
pod 'SomePodLibrary'
end
لا يمكن تحميل حزمة UITESTS لأنها تالفة أو مفقودة الموارد اللازمة.حاول إعادة تثبيت حزمة
التحقق منإذا كانت جميع أهدافك تستخدم نفس إصدار iOS في: بناء الإعدادات -> استهداف نشر دائرة الرقابة الداخلية
إيقاف تشغيل تكوين POD لاستهداف اختبار المشكلة بالنسبة لي، كان لديه شيء يتعلق بتكوين Pod Mysting معها.
بالنسبة لي، فقد تحولنا للتو إلى استحقاق cloudkit.لسبب ما الذي كسر المبنى.
كان لديك مشكلة مماثلة:
frameworka الواردات framework b
framework-اختبارات أيضا الواردات frame fammb
ما تم حل المشكلة هو إزالة (تعليق) جميع المراجع إلى frame frame في framework-اختبارات ، ثم قم بتشغيل الاختبارات مرة واحدة وإكمال المراجع.
framework-اختبارات الآن استيراد framework b ويعمل بشكل جيد.