2012-03-27 7 views
6

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

मैं इस सभी लिंक पढ़ लिया है:

Using open source static libraries

Creating static libraries for iOS

How to create universal static libraries

Stackoverflow: copy headers: public vs private vs project

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

उत्तर

1

मेरे ज्ञान के लिए, "कॉपी हेडर" चरण के "सार्वजनिक" खंड में हेडर जोड़ना बिल्कुल आपके रिलीज़ फ़ोल्डर में कॉपी करने जैसा ही है।

मैं एक सुविधा के रूप में उपयोग के रूप में मैं एक रन स्क्रिप्ट के साथ पुस्तकालय पैकेजिंग प्रक्रिया को स्वचालित (जो आप पढ़ना चाहिए अगर आप सार्वभौमिक पुस्तकालयों प्रदान करना चाहते हैं this StackOverflow questionकरने के लिए धन्यवाद)।

######### 
# 
# Added: StackOverflow suggestion to also copy "include" files 
# (untested, but should work OK) 
# 
if [ -d "${CURRENTCONFIG_DEVICE_DIR}/usr/local/include" ] 
then 
mkdir -p "${CREATING_UNIVERSAL_DIR}/headers" 
# * needs to be outside the double quotes? 
cp "${CURRENTCONFIG_DEVICE_DIR}/usr/local/include/"* "${CREATING_UNIVERSAL_DIR}/headers" 
fi 
:

ऐसा करने से, मैं सिर्फ "कॉपी हेडर" चरण के "सार्वजनिक" अनुभाग पर मेरी नई सार्वजनिक हेडर जोड़ने के लिए उन्हें स्वचालित रूप से स्क्रिप्ट के इस हिस्से के साथ मेरी रिहाई फ़ोल्डर में तैनात किया है की जरूरत है

मैंने यह भी देखा है कि संग्रह (उत्पाद -> पुरालेख) संग्रह करते समय उन शीर्षकों को पैकेज में कॉपी किया गया है, इसलिए शायद यह ऐप्पल से स्थिर पुस्तकालय बनाने के लिए एक साफ तरीका प्रदान करने वाला पहला कदम है।

आशा इस

1

मदद करता है जब एक संग्रह का निर्माण अब कॉपी हेडर चरण काम करता है? ऐप्पल के दस्तावेज़ीकरण से पता चलता है कि सुविधा काम नहीं करती है और उन्होंने इसके बजाय कॉपी फाइल बिल्ड चरण का उपयोग करने का सुझाव दिया है। क्या यह हाल ही में एक्सकोड के रिलीज में तय किया गया है? https://developer.apple.com/library/ios/#technotes/iOSStaticLibraries/Articles/creating.html

+0

स्पष्ट रूप से समस्या अभी भी Xcode 6.2 पर है – duhanebel

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