2013-04-14 7 views
7

मैंने थियोस के साथ पूरी तरह से कार्यात्मक tweak बनाया है और मुझे छवि फ़ाइल का उपयोग करने की आवश्यकता है, छवि प्राप्त करने के लिए कोड सही है (एक्सकोड पर परीक्षण)। लेकिन छवि अंतिम डीईबी फ़ाइल में शामिल नहीं है।Theos makefile में संसाधन फ़ाइलों को कैसे शामिल करें?

और मैं इस makefile है:

SDKVERSION=6.0 
include theos/makefiles/common.mk 
include theos/makefiles/tweak.mk 

TWEAK_NAME = MyTweak 
MyTweak_FRAMEWORKS = Foundation CoreGraphics UIKit 
MyTweak_FILES = Tweak.xm image.png 

include $(THEOS_MAKE_PATH)/tweak.mk 

लेकिन जब मैं संकलन करने की कोशिश मैं:

No rule to make target `obj/image.png.o', needed by `obj/MyTweak.dylib'. Stop. 

क्या मैं इसे शामिल करने के लिए क्या कर सकते हैं ??

(खराब वाक्यविन्यास के लिए खेद है, आईफोन से पूछना)।

+0

केवल किसी प्रणाली Theos निर्माण से परिचित हो जाएगा मदद करने में सक्षम एक मेक परिप्रेक्ष्य से, इसका मतलब है कि उनमें से एक मेकफ़ाइल शामिल है 'MyTweak_FILES' चर की सामग्री को संकलित करने के लिए स्रोत फ़ाइलों के रूप में उपयोग कर रहा है। या तो कुछ अन्य चर है जो छवि फ़ाइलों के लिए उपयोग किए जाने वाले हैं, अन्यथा मेकफ़ाइल नहीं जानते कि पीएनजी फ़ाइलों से कैसे निपटें। – MadScientist

उत्तर

6

यह नहीं है कि आप थियो का उपयोग कर संसाधन शामिल करते हैं। MyTweak_FILES चर में केवल उन फ़ाइलों को शामिल करना चाहिए जिन्हें संकलित किया जा सकता है। फ़ाइल को अलग-अलग संसाधनों को संभाल लें।

संसाधनों को शामिल करने के लिए आपको निम्नानुसार एक बंडल बनाने की आवश्यकता है।

1) tweak.xm निर्देशिका में संसाधन नामक फ़ोल्डर बनाएं।

2) अपनी सभी संसाधन फ़ाइलों (अपने सभी पीएनजी) को उस फ़ोल्डर में रखें।

3) अपने मेकअप फ़ाइल

BUNDLE_NAME = your_bundle_identifier 

your_bundle_identifier_INSTALL_PATH = /Library/MobileSubstrate/DynamicLibraries 

include $(THEOS)/makefiles/bundle.mk 

4) के रूप में अपने tweak.xm फ़ाइल के शीर्ष पर इस प्रकार अपने बंडल को परिभाषित करने के लिए निम्न जानकारी जोड़ें।

#define kBundlePath @"/Library/MobileSubstrate/DynamicLibraries/your_bundle_identifier.bundle" 

5) अब आप बंडल को प्रारंभ और इस प्रकार अपने ट्वीक भीतर छवियों का उपयोग कर सकते हैं:

NSBundle *bundle = [[[NSBundle alloc] initWithPath:kBundlePath] autorelease]; 

NSString *imagePath = [bundle pathForResource:@"your_image_name" ofType:@"png"]; 

UIImage *myImage = [UIImage imageWithContentsOfFile:imagePath] 

ऊपर के चरणों में अपने तोड़ मरोड़ बंडल पहचानकर्ता जिसमें होगा साथ your_bundle_identifier की जगह नियंत्रण फ़ाइल। (उदा: com.yourdomain.tweak_name)

अपनी छवि के नाम के साथ your_image_name को भी बदलें जिसे आप उपयोग करना चाहते हैं।

आप उपरोक्त तरीके से किसी भी संसाधन (पूर्व: ध्वनि फ़ाइलों) का अधिक उपयोग कर सकते हैं।

0

तैनात जवाब देने के लिए इसके अलावा, यह में बंडलों "/ Library/Application सहायता /" के बजाय जगह आम बात है "/ Library/MobileSubstrate/DynamicLibraries /"

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

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