तकनीकी Q & A QA1886 से उद्धृत :
स्विफ्ट लाइब्रेरी libswiftCore.dylib को संदर्भित करने का प्रयास करते समय स्विफ्ट ऐप क्रैश हो जाता है।
प्रश्न: मैं अपने डिवाइस के कंसोल में libswiftCore.dylib लोडिंग त्रुटि के बारे में क्या कर सकता हूं जब मैं अपनी स्विफ्ट भाषा ऐप को चलाने की कोशिश करता हूं?
A: इस समस्या को ठीक करने के लिए, आपको अपनी टीम आईडी पर निर्धारित विषय संगठनात्मक इकाई (OU) के साथ कोड पर हस्ताक्षर प्रमाण पत्र का उपयोग करके अपने ऐप पर हस्ताक्षर करने की आवश्यकता होगी। सभी एंटरप्राइज़ और मानक iOS डेवलपर प्रमाणपत्र जो iOS 8 जारी होने के बाद बनाए गए हैं, उनमें स्विफ्ट भाषा ऐप को चलाने की अनुमति देने के लिए उचित स्थान पर नया टीम आईडी फ़ील्ड है।
आमतौर पर यह त्रुटि डिवाइस के कंसोल लॉग में निम्न में से एक के समान संदेश के साथ दिखाई देती है: [....] [इंकार-एमएमएपी] मैप की गई फ़ाइल में कोई टीम पहचानकर्ता नहीं है और एक मंच बाइनरी नहीं है: / निजी / var / मोबाइल / कंटेनर / बंडल / आवेदन / 5D8FB2F7-1083-4564-94B2-0CB7DC75C9D1 / YourAppNameHere.app / Frameworks / libswiftCore.dylib
Dyld Error Message:
Library not loaded: @rpath/libswiftCore.dylib
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000120021088
Triggered by Thread: 0
Referenced from: /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/TestApp
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib: mmap() error 1 at address=0x1001D8000, size=0x00194000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib
Dyld Version: 353.5
नए सर्टिफिकेट की जरूरत होती है जब एक आर्काइव का निर्माण करें और अपने ऐप की पैकेजिंग करें। यहां तक कि अगर आपके पास नए प्रमाण पत्र में से एक है, तो बस एक मौजूदा स्विफ्ट ऐप संग्रह इस्तीफा देने से काम नहीं चलेगा। यदि यह प्री-आईओएस 8 प्रमाण पत्र के साथ बनाया गया था, तो आपको एक और संग्रह बनाने की आवश्यकता होगी।
महत्वपूर्ण: कृपया सावधानी बरतें यदि आपको नए एंटरप्राइज़ वितरण प्रमाणपत्र को रद्द करने और सेटअप करने की आवश्यकता है। यदि आप एक इन-हाउस एंटरप्राइज डेवलपर हैं, तो आपको सावधान रहना होगा कि आप वितरण प्रमाण पत्र को निरस्त न करें जिसका उपयोग किसी ऐप पर हस्ताक्षर करने के लिए किया गया था, जो अभी भी आपके एंटरप्राइज़ कर्मचारियों में से किसी एक ऐप के रूप में उपयोग हो रहा है, जो उस उद्यम वितरण प्रमाण पत्र के साथ हस्ताक्षर किए गए थे तुरंत काम करना बंद कर देंगे। उपरोक्त केवल एंटरप्राइज़ वितरण प्रमाणपत्र पर लागू होता है। एंटरप्राइज / स्टैंडर्ड iOS डेवलपर्स के लिए डेवलपमेंट सेरेक्ट को रिवोक करना सुरक्षित है।
जैसा कि AirSign लोग इन-हाउस प्रमाण पत्र के विषय क्षेत्र में लापता OU विशेषता से समस्या की जड़ें बताता है।
विषय: UID = 269J2W3P2L, CN = iPhone वितरण: कंपनी का नाम, OU = 269J2W3P2L, O = कंपनी का नाम, C = FR
मेरे पास एक उद्यम विकास प्रमाण पत्र है, जिससे एक नया मुद्दा हल हो गया।