2017-02-14 11 views
5

मैं एक Xcode परियोजना है कि जब इकाई में चल रहे एप्लिकेशन मेजबान के रूप में उपयोग करने के लिए प्रयास करने से पहले एक उत्पाद उत्पन्न करने के लिए अपने मुख्य अनुप्रयोग लक्ष्य को संकलित करना चाहते प्रतीत नहीं होता है के लिए बंडल पहचानकर्ता निर्धारित नहीं किया जा सका परीक्षण। एक्सकोड से, मैं ⌘ + U के साथ यूनिट परीक्षण चलाने की कोशिश कर रहा हूं।Xcode 8 यूनिट टेस्ट त्रुटि: TEST_HOST

मैं तुरंत एक संवाद है जिसमें कहा गया है: Could not determine bundle identifier for [app name] TEST_HOST

(बदलें असली आवेदन नाम के साथ [ऐप्लिकेशन नाम])

यह संवाद भी अपने स्थानीय व्युत्पन्न डेटा उत्पादों निर्देशिका के पथ में शामिल हैं: "/Users/***/Library/Developer/Xcode/DerivedData/Lowes-aymgdtrbrarmcidtkxoqxeafmxmj/Build/Products/Debug-iphonesimulator/[app name]"

मैं इकाई TEST_HOST $(BUILT_PRODUCTS_DIR)/[app name].app/[app name] की ओर इशारा करते सेटिंग के साथ सेट अप परीक्षण किया है। इकाई परीक्षण लक्ष्य के मुख्य ऐप लक्ष्य पर लक्षित निर्भरता है। BUNDLE_LOADER सेटिंग $(TEST_HOST) पर सेट है। अगर मैं ⌘ + B मारकर मुख्य एप्लिकेशन लक्ष्य संकलन पहले, सही निर्देशिका संरचना और एप्लिकेशन बनाई गई हैं, और फिर मार ⌘ + U बूटस्ट्रैप और इकाई परीक्षण सही ढंग से चलाता है। अगर मैं साफ करता हूं और फिर कोशिश करता हूं तो यह तुरंत विफल हो जाता है। मैंने पहले कभी इस मुद्दे में भाग नहीं लिया है, और ऐसा लगता है कि ऐप को स्विफ्ट 3 में परिवर्तित करने के बाद उभरा है। यह समस्या पर कोई असर नहीं हो सकता है, वास्तव में यकीन नहीं है।

मैं कई जवाब के माध्यम से यहां पढ़ लिया है और सुझावों का एक बहुत कोशिश की, लेकिन वे मेरे रूप में एक ही जड़ समस्या है करने के लिए नहीं है। अधिकांश लोगों के लिए, ऐसा लगता है कि होस्ट एप्लिकेशन को किसी को भी सेट नहीं किया गया है और मुख्य लक्ष्य पर वापस समस्या को हल करता है। यह मेरे लिए मामला नहीं है।

मैं ताजा checkouts, स्विफ्ट 3 के लिए पुन: परिवर्तित एप्लिकेशन और परीक्षण लक्ष्य, और भी मानक स्वच्छ/साफ निर्माण फ़ोल्डर की कोशिश की है/व्युत्पन्न डाटा मिटा। इनमें से कोई भी कोई प्रभाव नहीं प्रतीत होता है।

किसी और को इस मुद्दे का अनुभव है और एक समाधान पता लगा है?

+0

, परिवर्तित करने, स्वच्छ परियोजना और व्युत्पन्न डाटा से पहले एक संस्करण चेकआउट करने की कोशिश करो यकीन है कि यह निर्माण है बनाने के लिए, कन्वर्ट फिर से, स्वच्छ परियोजना और व्युत्पन्न डाटा, निर्माण। – shallowThought

+0

हाँ, मैं समस्या निवारण के हिस्से के रूप उन कदमों के सभी प्रदर्शन किया गया है। अभी ऐसा लगता है कि एक्सकोड पहले ऐप लक्ष्य बनाने से इंकार कर देता है। –

+0

हो सकता है कि अपने नए निष्कर्ष के विवरण के साथ आपके सवाल का अद्यतन करें। मुझे आपकी टिप्पणी में इस मुद्दे को समझ में नहीं आया "ऐसा लगता है कि एक्सकोड पहले ऐप लक्ष्य बनाने से इंकार कर देता है"। यह रूपांतरण से पहले एक प्रतिबद्धता नहीं बनाता है? – shallowThought

उत्तर

12

मैं इस के लिए एक प्रस्ताव मिला हल होगा। यह हर परिदृश्य पर लागू नहीं हो सकता है, लेकिन यह मेरा तय किया। जानकारी टैब पर मुख्य प्रोजेक्ट सेटिंग्स में, कमांड लाइन बनाने के दौरान चलाने के लिए कॉन्फ़िगरेशन का चयन करने का विकल्प होता है। मेरा रिलीज करने के लिए सेट किया गया था। डीबग को फिसलने से मेरा मुद्दा तय हो गया।

Xcode Project Settings, Info Tab

+1

एक अन्य संभावित समाधान रिलीज विन्यास में "बंडल लोडर" स्थापित करने के लिए भी है। –

+0

यह मेरे लिए तय है। साथ ही, जब मैंने इसे रिलीज में बदल दिया तो यह काम करना जारी रखा। –

+1

@DanielLahyani मुझे लगता है कि अपने समाधान सही है, लेकिन आप क्यों समझा सकता है? बहुत बहुत धन्यवाद –

0

अपने परीक्षण लक्ष्य की Build Settings से पूरी तरह से हटाया जा रहा है Test Host इस मुद्दे

+0

मैंने इस कदम की कोशिश की, इस मुद्दे के लिए मुझे इस मुद्दे पर कोई प्रभाव नहीं पड़ा। –

+0

शायद "टेस्ट होस्ट" वास्तव में '$ (BUNDLE_LOADER) '(यह डिफ़ॉल्ट मान मुझे लगता है) के रूप में सेट किया गया है, यदि आप" बंडल लोडर "का मान हटाते हैं जो शायद काम करेगा। –

0

ऐसा लगता है कि रिलीज विन्यास में "बंडल लोडर" सेटिंग समस्या का हल।

मैं पूरी तरह से क्यों नहीं समझ सकता लेकिन मेरे लिए इस त्रुटि हमेशा हमारे सीआई प्रणाली में दिखाई दिया, जहां हम कमांड लाइन से निर्माण को अंजाम। प्रोजेक्ट सेटिंग्स में हमने "कमांड-लाइन बिल्ड के लिए रिलीज़" सेट किया है। इसलिए मुझे लगता है कि भले ही हम कमांड लाइन तर्कों के माध्यम से डीबग को बिल्ड कॉन्फ़िगरेशन सेट करते हैं, xcodebuild कॉन्फ़िगरेशन तर्क को अनदेखा कर रहा है और आंशिक रूप से "रिलीज़" सेटिंग्स का उपयोग कर रहा है। यह संभवतः xcodebuild सिस्टम (मुझे लगता है कि यह एक रडार के लायक है) के साथ एक बग है, अगर कोई इस बारे में बेहतर स्पष्टीकरण पा सकता है कि यह उस बग को हल क्यों करता है जिसे मैं इसके बारे में सुनना पसंद करूंगा।

उम्मीद है कि इससे मदद मिलती है।

संबंधित मुद्दे