2015-03-02 3 views
16

मैं एक iOS परियोजना स्विफ्ट में लिखा पर काम कर रहा हूँ, और मैं नियमित रूप से "एप्लिकेशन" परियोजना से बाहर कुछ कक्षाएं लेने के लिए पसंद है, और एक पुन: प्रयोज्य स्विफ्ट में बंडल हैं इसके बजाय ढांचे (और शायद इसे गीथूब और कोकोपोड्स के माध्यम से सार्वजनिक रूप से उपलब्ध कराएं)। गूगल मैप्स आईओएस:ऑब्जेक्टिव-सी कोड को संदर्भ के साथ एक स्विफ्ट ढांचे का निर्माण

मैं मुद्दों में चल रहा हूँ क्योंकि चौखटे प्रतीत होता है ऑब्जेक्टिव-सी हेडर ब्रिजिंग नहीं हो सकता है, लेकिन आदेश मेरी ढांचे कोड को संकलित करने में, मैं कई ऑब्जेक्टिव-सी कक्षाओं संदर्भ के लिए (इस मामले में की जरूरत है एसडीके)।

मैंने अपनी ढांचे परियोजना में एक लिंक लाइब्रेरी के रूप में GoogleMaps.framework भी जोड़ा है, लेकिन फिर, मैं स्विफ्ट कोड से इसे "आयात" कैसे कर सकता हूं?

क्या यह मौजूदा टूल्स और स्विफ्ट संस्करण के साथ भी संभव है, और मुझे आगे कैसे बढ़ना चाहिए?

धन्यवाद।

उत्तर

9

यह जटिल नहीं था, असल में ... मैं बस कुछ चीजें गलत कर रहा था।

पहले, ब्रिजिंग हेडर नहीं कि सेटिंग में आवश्यक हैं: गूगल मैप्स iOS SDK का एक नियमित .framework फ़ाइल के रूप में प्रदान की जाती है, तो विकास भाषा कैसे यह स्विफ्ट में आयात किया जा सकता पर कोई प्रभाव नहीं है। ऐप्पल स्पष्ट रूप से दस्तावेज़ीकरण में इसका उल्लेख करता है: https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html, "बाहरी ढांचे को आयात करना"।

परियोजना सेटिंग्स के "पुस्तकालयों के साथ लिंक बाइनरी" अनुभाग में ढांचे को जोड़ने के रूप में यह आसान है। पुस्तकालयों और ढांचे के आधार पर भी जोड़ने के लिए मत भूलना (GoogleMaps.framework के मामले में, कुछ हैं)।

फिर, स्विफ्ट कोड में, फ्रेमवर्क वर्गों उपलब्ध बस करके किया जाना चाहिए:

import GoogleMaps 

नहीं ब्रिजिंग हैडर, कोई साथ "गैर-मॉड्यूलर हैडर आदि" निपटने त्रुटियों।

+0

अपने जवाब के लिए धन्यवाद, मैं सिर्फ एक ही समस्या का सामना करना पड़ा, लेकिन जब मैं एक पुस्तकालय आयात करने की कोशिश, मेरे मामले में SVProgressHUD xcode ऐसा कोई मॉड्यूल 'SVProgressHUD' –

+0

@SiuChungChan की ewrror से पता चलता है, तो आप भी एक रूपरेखा का निर्माण कर रहे Cocoapod का उपयोग कर? आपकी समस्या बिल्कुल मेरे जैसा ही नहीं हो सकती है। शायद एक नया सवाल शुरू करना और अधिक जानकारी प्रदान करना बेहतर होगा? – Romain

+0

आप रोमन के चीजों की आवाज़ से, कोकोपॉड का उपयोग नहीं कर रहे थे? –

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