2015-11-09 5 views
10

मेरे पास एक गतिशील ढांचा है जो Google मानचित्र के खिलाफ लिंक करता है (जो कि, जहां तक ​​मैं इसे देखता हूं, अभी भी स्थिर पुस्तकालय की तरह है, अगर बिल्कुल नहीं, तो केवल ढांचे के साथ आवरण)।गतिशील (कोको टच) ढांचे के अंदर लिंक स्थिर लाइब्रेरी

समस्या यह है कि स्थिर पुस्तकालय के खिलाफ ढांचे के लिंक और सीधे इसके कोड को शामिल करना प्रतीत होता है, क्योंकि मुझे फ्रेम में उपयोग किए जाने वाले ऐप में Google मानचित्र को लिंक या एम्बेड करने की आवश्यकता नहीं है और सबकुछ ठीक काम करता है। अगर मैं ऐप के अंदर Google मानचित्र के साथ भी काम करता हूं।

या तो मैं संकलन चरण के दौरान "वास्तुकला XY के लिए अपरिभाषित प्रतीकों" मिलता है, या मैं इसके खिलाफ गूगल मैप्स लिंक और फिर मैं जैसे एप्लिकेशन-लॉन्च के दौरान डिबग-कंसोल में चेतावनी की एक दीवार मिलती है:

कक्षा GMSPolyline2D दोनों /.../Build/Products/Debug-iphonesimulator/MyFramework.framework/MyFramework और /..../Bundle/Application/7C73324B-4A42-4063-98AA-879345997DE6/MyApp में कार्यान्वित किया जाता .app/MyApp। दोनों में से एक का उपयोग किया जाएगा। कौन सा अपरिभाषित है।

क्या फ्रेमवर्क में Google मानचित्र के खिलाफ केवल लिंक करने का कोई तरीका है, लेकिन फ्रेमवर्क-उत्पाद में प्रतीकों को शामिल करने का कोई तरीका नहीं है? यह गतिशील ढांचे के लिए काम करता है, लेकिन स्थिर पुस्तकालयों को अभी शामिल किया गया प्रतीत होता है। मैंने पहले ही -weak_framework और -weak_library के साथ कमजोर जोड़ने की कोशिश की है, लेकिन ऐसा लगता है कि यह काम नहीं कर रहा है।

असल में, मैं अपने ढांचे के अंदर -weak_library के लिए GoogleMaps बाइनरी को एक्सकोड नहीं कर सका, यहां तक ​​कि सीधे फ्रेम फ्रेम के रूप में .framework फ़ोल्डर के अंदर लिंक करने के साथ भी।

चूंकि मैं अपने ढांचे का एकमात्र उपयोगकर्ता हूं, इसलिए मैं यह लागू कर सकता हूं कि ढांचे का उपयोग करने वाले प्रत्येक ऐप में Google मानचित्र ढांचे शामिल हैं। अभी तक एप चेतावनियों को छोड़कर ठीक काम करता है (और अब तक कोई फर्क नहीं पड़ता कि दोनों कक्षाओं में से कौन सा वर्ग रनटाइम पर उपयोग किया जाता है, क्योंकि दोनों एक जैसा होना चाहिए)। हालांकि, मैं बेहतर नींद होगा अगर वहाँ एक अच्छा समाधान :) था


संपादित करें: मैं बस के बजाय संयोजक-ध्वज खंड में सीधे निरपेक्ष पथ सौंपने लाइब्रेरी का उपयोग करके काम करने के लिए मिल सकता है -weak_library खोज पथ सेटिंग। हालांकि, समस्या अभी भी बनी हुई है, जाहिर है कि यह अभी भी ढांचे में शामिल है।

+1

को रॉबर्ट नेपियर के जवाब मिले एक समान समस्या, एक समाधान के प्रकार के साथ है, लेकिन यह एक समाधान के अधिक होने के लिए मुझे लगता है कि विचार करेंगे लगता है, लेकिन किसी को भी एक क्लीनर विचार है तो मैं। इसकी सराहना करेंगे। http://stackoverflow.com/a/29603185/5460596 –

+0

क्या आपको इस के लिए कोई समाधान मिला है ?? –

+0

क्या आपको इसके लिए कोई समाधान मिला है? – Cosmin

उत्तर

0

Dat

सबसे अच्छा अभ्यास है एक अलग पुस्तकालय है कि दोनों अपने पुस्तकालय और गूगल मैप्स स्थिर पुस्तकालय के लिए लिंक में अपने सभी गूगल मैप्स पर निर्भर कोड डालने की मत करो।

(क्रेडिट: How to compile static library that includes optional classes that depend on a third party library

+0

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

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