2013-04-14 4 views
7

私はtheosで完全に機能を微調整しました。イメージファイル を使用する必要があります。イメージを取得するコードは正しいです(Xcodeでテスト済み)。 イメージは最終的なDEBファイルに含まれていません。Theos 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. 

は、私はそれを含めるために何ができるの?

(申し訳ありませんが、構文が間違っている、iphoneからお問い合わせください)

+0

助けることができる。 makeの観点から言えば、これは、含まれているmakefileの1つが、 'MyTweak_FILES'変数の内容をコンパイルするソースファイルとして扱っていることを意味します。画像ファイルに使用されるはずの他の変数があります。そうしないと、makefileはPNGファイルを扱う方法を知らないでしょう。 – MadScientist

答えて

6

これは、あなたがtheosを使ってリソースを組み込む方法ではありません。 MyTweak_FILES変数には、コンパイル可能なファイルのみを含めるようにしてください。 makeファイルはリソースを別々に扱います。

リソースを含めるには、次のようにバンドルを作成する必要があります。

1)tweak.xmディレクトリにResourcesというフォルダを作成します。

2)リソースファイル(すべてのPNGファイル)をそのフォルダに保存します。

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は、使用するイメージの名前に置き換えてください。

上記のように、あらゆるリソース(例:サウンドファイル)を使用できます。 THEOSに精通している人だけが、システムがされる構築

0

掲載の回答に加えて、それは「/ /ライブラリ/ Application Support」にバンドルを配置するのが一般的だのではなく、「/ライブラリ/ MobileSubstrate/DynamicLibraries /」

関連する問題