1

イメージとしていくつかのグラフィックス リソースが必要な静的ライブラリがあります。私のクラスでは、次の方法で画像を追加します。

[UIImage imageNamed:@"myImage.png"]

でもうまくいかない…どうすればいいの?

4

5 に答える 5

2

そのバンドルを取得したら、次のようにそこにあるリソースにアクセスできます。

NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"YourBundle" ofType:@"bundle"];
NSString *imagePath = [[NSBundle bundleWithPath:bundlePath] pathForResource:@"yourImage" ofType:@"png"];
UIImage *image= [[UIImage alloc] initWithContentsOfFile:imagePath];
于 2013-02-12T14:02:20.013 に答える
1

私は解決策を見つけました..

バンドルディレクトリ(コンパイル済み)を調べたところ、私の画像(.png)にすべてのiestensioneが含まれていることに気付きました.tiff

これを回避するためHIDPI_COMBINE_IMAGESに、バンドルのbuid設定でキーを次のように設定します。NO

..だから私はe1985によって提案されたように私の写真を回復することができます

于 2013-02-14T21:10:42.790 に答える
1

Xcodeでは、静的ライブラリをリンクすると、ライブラリのコードが実行可能ファイルに直接含まれます。ファイルはアプリケーションバンドルにコピーされないため、イメージをコピーする方法はありません。

静的ライブラリを含むイメージファイルがある場合は、Xcodeでターゲットにファイルのコピービルドフェーズを追加することで、アプリケーションバンドルにイメージファイルをコピーできます。

于 2013-02-12T11:52:53.363 に答える
1

静的ライブラリを使用してコード以外のものを提供することはできません。これは、.aファイルがオブジェクト ファイルの単純なアーカイブであり、Mac/iOS で複数の CPU アーキテクチャをサポートする機能が追加されているためです。

唯一の選択肢は、コードやその他のリソースを提供できるフレームワークを作成することです。

于 2013-02-12T11:51:57.630 に答える