0

Xcode 4.3 と Mac OSX 10.7 を実行しています。

私は数週間アプリに取り組んできましたが、独特の問題に直面しています:-

  1. ルートにあるフォルダーに、アプリのすべてのアセットがあります。
  2. これらのアセットを取得して、コンパイル中にバンドルに入れるシェル スクリプトがあります。
  3. 画像のキャッシュを処理する独自のメソッド ( imageNamed: に似ています) を作成し、このメソッドを普遍的に使用してすべての UIImage を作成しました。

問題は、一部の画像がデバイス上のアプリケーションに反映されていないのに、それらのすべてがシミュレーターに表示されることです。

私はそれを保証しました

  1. イメージ名は、バンドル内の名前と正しく一致するように指定されています
  2. 画像がバンドルにコピーされていること (製品アプリからパッケージの内容を表示)
  3. このファイルのパーミッションは (ファイルの chmod 777) にも与えられます。

何がうまくいかないのか誰か知っていますか?

アップデート :

派生データをクリーンアップし、シミュレーターからアプリをアンインストールして起動しましたが、シミュレーターにも同じ画像が表示されなくなりましたが、他のすべての画像に対して同じロジックとコードが機能します。

デバイスと同じ問題に直面しています。

さらに、画面に描画したい画像がある画面に入ると、次のエラーが表示されます:-

 <Error>: CGContextSaveGState: invalid context 0x0

 <Error>: CGContextSetBlendMode: invalid context 0x0

 <Error>: CGContextSetAlpha: invalid context 0x0

 <Error>: CGContextTranslateCTM: invalid context 0x0

 <Error>: CGContextScaleCTM: invalid context 0x0

 <Error>: CGContextDrawImage: invalid context 0x0

 <Error>: CGContextRestoreGState: invalid context 0x0
4

2 に答える 2

3

画像の名前を確認できます。デバイスでurbuildを実行する場合は大文字と小文字が区別されますが、どちらの方法でもシミュレータで機能します。

于 2012-07-03T06:05:21.133 に答える
-1

デバイスで動作させるには、画像の拡張子も指定する必要があります。

[UIImage imageNamed:@"test.png"];
于 2012-07-03T06:57:48.860 に答える