2017-01-16 7 views
5

एक्सकोड में मैंने एक नया Staging निर्माण कॉन्फ़िगरेशन बनाया है। मैंने इसे बनाने के लिए Release कॉन्फ़िगरेशन को डुप्लिकेट किया। Release और Debug कॉन्फ़िगरेशन दोनों ठीक बनाते हैं। जब मैं Staging कॉन्फ़िगरेशन का चयन करता हूं तो मैं शीर्षलेख समस्याओं के साथ समाप्त होता हूं। मैंने यह सुनिश्चित करने के लिए बिल्ड सेटिंग्स में चेक किया है कि सभी तीन कॉन्फ़िगरेशन में एक ही शीर्षलेख खोज पथ हैं।हेडर में नया बिल्ड कॉन्फ़िगरेशन परिणाम नहीं मिला त्रुटि

एक महत्वपूर्ण पक्ष नोट के रूप में, मुद्दों को एक दूसरे के संदर्भ में दो पुस्तकालयों के बीच पॉप-अप कर रहे हैं।

विशिष्ट मैं एक पुस्तकालय CodePush कहा जाता है का संदर्भ देता है इस तरह से प्रतिक्रिया पुस्तकालय का उपयोग कर रहा होने के लिए:

#if __has_include("RCTEventEmitter.h") 
    #import "RCTEventEmitter.h" 
#else 
    #import "React/RCTEventEmitter.h" 
#endif 

कौन सा टैन राज्यों #import <React/RCTBridge.h> और यह RCTBridge फ़ाइल कि हेडर फाइल नहीं मिला साथ है में RCTEventEmitter.h फ़ाइल से आ रहा है

मैं प्रतिक्रिया मूल 0.40 और प्रतिक्रिया-देशी-कोड-पुश 1.16.1-बीटा का उपयोग कर रहा हूं।

इस मुद्दे के कारण क्या हो सकता है इसके बारे में कोई विचार। अगर आपको और जानकारी चाहिए तो कृपया मुझे बताएं और मैं खुशी से प्रदान करूंगा। मैं यह उल्लेख करना चाहूंगा कि मुझे यह विश्वास नहीं है कि यह पुस्तकालयों के साथ एक मुद्दा है बल्कि मेरी स्थापना है। मुझे संदेह है कि यह सिर्फ पहली लाइब्रेरी है जिसे संकलक हिट करता है।

उत्तर

13

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

योजना:

  • Product->Scheme->Manage Schemes पर जाएं।
  • अपनी योजना पर डबल क्लिक करें। मेरे मामले में मैंने स्टेजिंग योजना और अनुभाग में चरण पर सेट कॉन्फ़िगरेशन सेट किया है।
  • फिर बनाएं खंड में, सुनिश्चित करें कि parallelize बिल्ड बंद
  • यकीन है कि निर्माण प्रतिक्रिया लक्ष्य लक्ष्यों की सूची में है है या नहीं। यदि नहीं, + बटन दबाएं, इसे जोड़ें, और इसे शीर्ष पर खींचें। फिर हिट बंद करें।

लक्ष्य निर्भरता:

  • अब नाविक में अपने लक्ष्य का चयन करें, लक्ष्य निर्भरता जोड़ने प्रतिक्रिया के तहत बिल्ड के चरण, और में जाते हैं। यह सुनिश्चित करता है कि एक्सकोड शेष परियोजना से पहले प्रतिक्रिया बनाता है।

हैडर पथ:

  • नाविक में अपने लक्ष्य का चयन करें, बिल्ड सेटिंग में जाते हैं।
  • + पर क्लिक करें, उपयोगकर्ता द्वारा परिभाषित सेटिंग REACT_HEADERS_PATH जोड़ें और मान को $(BUILD_DIR)/Release-$(PLATFORM_NAME)/include पर सेट करें। ऐसा लगता है कि build/Release-iphoneos/include
  • तो अभी भी बिल्ड सेटिंग में कुछ करने के लिए हल, हैडर खोजें पथ तक स्क्रॉल करें और केवल स्टेजिंग विन्यास के लिए सूची में $(REACT_HEADERS_PATH) जोड़ना चाहिए।

अब स्वच्छ और निर्माण ...

मैं 2 दिनों के लिए संघर्ष कर के बाद इस समाधान here on Github पाया। सभी क्रेडिट उस टिप्पणी के लेखक के पास जाता है।

+0

मुझे वह पोस्ट कैसे नहीं मिला। मैंने इसे समझने की कोशिश कर रहे दिन बिताए। तुम कमाल हो!!! बहुत बहुत धन्यवाद!!!!!!!!! मैंने इस पर आशा छोड़ दी थी और रिलीज बिल्ड कॉन्फ़िगरेशन – Osman

+0

का उपयोग कर रहा था, मुझे तुम्हारा दर्द पता है :) - अंत में मैं गीथब पर मूल मुद्दों के गिटब पेज पर प्रतिक्रिया करता हूं और फिल्टर बॉक्स में "स्टेजिंग" दर्ज करता हूं –

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