2016-02-16 4 views
6

मेरे चरणों थे:क्षेत्र स्विफ्ट OSX Cocoapods नमूना अनुप्रयोग क्रैश हो

1) Xcode में, मैं एक नया कमांड लाइन OSX स्विफ्ट एप्लिकेशन बना सकते हैं और उनके उदाहरण "वर्ग डॉग" कोड जोड़ने, प्लस पर "आयात RealmSwift" शीर्ष।

2) मैं दो पंक्तियों के साथ एक पॉडफाइल जोड़ता हूं, "use_frameworks!" और "पॉड 'RealmSwift'" और फिर पॉड इंस्टॉल चलाएं।

3) मैं वर्कस्पेस खोलता हूं, संकलित करता हूं और चलाता हूं।

नहीं तेज-stdlib-उपकरण चल: मैं इस चेतावनी मिल EMBEDDED_CONTENT_CONTAINS_SWIFT सक्षम है, लेकिन उत्पाद प्रकार 'कमांड लाइन उपकरण' एक आवरण प्रकार नहीं है।

और यह दुर्घटना:

dyld: लाइब्रेरी लोड नहीं: @ rpath/libswiftAppKit.dylib संदर्भित से:/उपयोगकर्ताओं/ys1382/Library/डेवलपर/Xcode/DerivedData/testRealmApp-gxysfwfiirxwddbklmbolznecnld/बिल्ड /Products/Debug/RealmSwift.framework/Versions/A/RealmSwift कारण: छवि नहीं मिला

अब तक googling इंगित करता है चेतावनी और दुर्घटना से संबंधित हैं। कोई सुझाव?

मैं OSX एल कैप्टन, Xcode 7.2.1 का उपयोग कर रहा हूँ, Cocoapods 0.39.0

+1

हम्म, मुझे लगता है कि यह इससे संबंधित है: https://github.com/realm/realm-cocoa/issues/975 उस कमांड लाइन उपयोगिताओं में प्रतिलिपि बनाने के लिए एक बंडल नहीं है। ऐसा कहा जा रहा है, मैं देख रहा हूं कि कोकोपोड्स के साथ इसके आसपास कोई रास्ता है या नहीं। – TiM

+1

यदि कोकोपोड्स के साथ नहीं है, तो कमांड लाइन एप में रीयलम का उपयोग करने का एक अनुशंसित तरीका है? या वास्तव में उस मुद्दे पर ध्यान दिए बिना होगा? –

उत्तर

7

टिम टिप्पणी पता लगाने के लिए कि, इस लेखन के रूप में, यह स्विफ्ट कमांड लाइन के लिए व्यवस्थाएं जोड़ने के लिए लगभग असंभव है मुझे नेतृत्व क्षुधा। This blog post एक तरफ वर्णन करता है। चरण 1 से शुरू, यह कहते हैं:

  1. एक ऑब्जेक्टिव-सी कमांड लाइन टूल बनाएं और खोज पथ बदल जाते हैं। स्विफ्ट नहीं। आप अपने कमांड लाइन टूल में डाले गए कोड के लिए एक स्विफ्ट फ्रेमवर्क बना सकते हैं, लेकिन टूल को स्वयं को किसी भी स्विफ्ट कोड को संकलित नहीं करना चाहिए। ऐसा करने से लिंकर को भ्रमित कर दिया जाएगा और इसे स्विफ्ट लाइब्रेरी की डुप्लिकेट घोषणाएं दिखाई देगी (शिप किए गए .dylib में से एक, कमांड लाइन टूल में एम्बेडेड)।

This presentation, एक अलग दृष्टिकोण से पता चलता एक कोको अनुप्रयोग बनाने, और फिर एक कमांड लाइन अनुप्रयोग में मजबूर, 31 चरणों में के साथ शुरू।

यह उस बिंदु पर मैंने सोचा था, "mmmaybe मेरा कमांड लाइन उपकरण सभी के बाद कुछ निफ्टी ग्राफिक्स का उपयोग कर सकता है" और इसके बजाय कोको ओएसएक्स स्विफ्ट रीयलम कोकोपॉड ऐप बनाया, जो काम करता था।

+4

स्विफ्ट फ्रेमवर्क को स्थिर रूप से लिंक करने में सक्षम नहीं होना एक बड़ा दर्द है। कुछ लोकप्रिय ओएसएस स्विफ्ट सीएलआई परियोजनाएं बिना किसी जीयूआई के मैक ऐप का निर्माण करती हैं। उदाहरण के लिए कार्थेज, सोर्सकिटन और स्विफ्टलिंट देखें। – jpsim

+0

चीजें बदल रही हैं। एक्सकोड 9 के बाद स्विफ्ट काम के साथ स्टेटिक फ्रेमवर्क 9. कोकोपोड्स और कार्थेज समर्थन जोड़ रहे हैं। स्थिति धाराप्रवाह है; यदि आपको Google के माध्यम से यह पता चला है, तो आप निश्चित रूप से वर्तमान स्थिति को देखना चाहते हैं। – Raphael

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