2011-07-06 12 views
7

मैं एक्सकोड वर्कस्पेस के भीतर कुछ ऐप्स बनाने की कोशिश कर रहा हूं: एक ऐप एक आईओएस ऐप होगा और दूसरा मैक ओएस एक्स ऐप होगा। मैं कक्षाओं का एक निश्चित समूह रखना चाहता हूं जो ऐप के दोनों संस्करणों में शामिल हो। मैं यह पता लगाने के लिए संघर्ष कर रहा हूं कि किस प्रकार की परियोजना संरचना साझा की गई कुछ कोड का सबसे अच्छा समर्थन करेगी, कुछ जो आईओएस ऐप के लिए विशिष्ट हैं, और कुछ मैक ऐप के लिए विशिष्ट हैं। क्या एक्सकोड में सामान्य रूप से या एक्सकोड 4 में इस तरह की चीज करने के लिए सबसे अच्छा अभ्यास है?मैक और आईओएस दोनों के लिए लाइब्रेरी बनाने के लिए एक्सकोड 4 वर्कस्पेस सेट करना

क्या मुझे साझा कोड के लिए लाइब्रेरी प्रोजेक्ट बनाना चाहिए और आईओएस और मैक ओएस एक्स पुस्तकालय के निर्माण के लिए 2 अलग-अलग लक्ष्य बनाना चाहिए? बिल्ड-इन प्रोजेक्ट टेम्पलेट्स मुझे लगता है कि मैं या तो मैक ओएस एक्स लाइब्रेरी या आईओएस लाइब्रेरी चुनूं, और मुझे यकीन नहीं है कि उन टेम्पलेट्स में से एक के आधार पर एक परियोजना बनाना आसान है, दोनों लक्ष्यों के लिए काम करते हैं।

क्या मुझे आईओएस लाइब्रेरी, मैक ओएस एक्स लाइब्रेरी, आईओएस ऐप और मैक्स ओएस एक्स ऐप के लिए अलग-अलग परियोजनाएं बनाना चाहिए? इस मामले में, आईओएस लाइब्रेरी और मैक ओएस एक्स लाइब्रेरी प्रोजेक्ट्स के बीच साझा किए गए लाइब्रेरी कोड को आसानी से कैसे प्राप्त किया जा सकता है?

उत्तर

4

आप साझा लाइब्रेरी फ़ाइल के अर्थ में लाइब्रेरी बनाने में सक्षम नहीं होंगे, जिसके लिए आप लिंक कर सकते हैं, क्योंकि आईओएस के लिए कोड एआरएम प्रोसेसर के लिए संकलित किया गया है जबकि ओएस एक्स के लिए कोड इंटेल प्रोसेसर के लिए संकलित किया गया है (विभिन्न मशीन कोड निर्देश सेट)।

आपको शायद वह कोड बनाना चाहिए जो एक अलग परियोजना में साझा किया जाएगा और फिर add the project itself as a dependency

और यहाँ एक और तो सवाल यह है कि मिलता-जुलता हो सुझाव के लिए के बारे में porting from one platform to the other

+0

धन्यवाद। आपके द्वारा संदर्भित पोस्ट में लाइब्रेरी प्रोजेक्ट्स द्वारा आवश्यक सामान्य कोड के लिए साझा फ़ोल्डर का उपयोग करने का उल्लेख किया गया है। क्या एक्सकोड सीधे साझा फ़ोल्डर्स की अवधारणा का समर्थन करता है, या क्या मुझे कक्षाओं को एक अलग फ़ोल्डर में रखने और मैन्युअल रूप से उन्हें एक्सकोड समूहों में खींचने की आवश्यकता है? –

+0

मैंने ईमानदारी से इसे एक्सकोड में कभी नहीं किया है, इसलिए मैं इसका जवाब नहीं दे सकता। मैं वर्तमान में अपने देव मैक के सामने भी नहीं बैठा हूं इसलिए मैं चारों ओर पोक नहीं कर सकता। –

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