0

シミュレーターでアプリをテストすると、すべて正常に動作します。しかし、iOSデバイスでテストすると、次のエラーが発生します。

*** Terminating app due to uncaught exception 'FileNotFound', reason: 'file '/Users/name/Documents/appname/GFX/MainMenu.png' not found'

ビルドフェーズのコピーバンドルリソースを確認すると、すべてが追加されています。でファイルを強調表示するとXcode、ユーティリティでターゲットメンバーシップがチェックされます。

また、ファイルをロードするコードを省略しようとしましたが、別のファイルで同じエラーが発生します。アプリのアイコンと起動画像のみが正しく読み込まれるようです。

私はSparrowFrameworkを使用していることに注意してください(それが違いを生む場合)。テクスチャは次のように読み込まれます。

SPTexture *gameMenuTexture = [SPTexture textureWithContentsOfFile:(@"/Users/name/Documents/appname/GFX/MainMenu.png")];

SPImage *gameMenuImage = [SPImage imageWithTexture:(gameMenuTexture)];
[self addChild:gameMenuImage];

助けていただければ幸いです。私は答えを求めてフォーラム全体を見てきました。ありがとう!

4

3 に答える 3

2

問題はハードコードされたパスにあります:

@"/Users/name/Documents/appname/GFX/MainMenu.png"

デバイスでは、指定されたパスにフォルダはありません。

バンドル使用の場合:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"MainMenu" ofType:@"png"];
SPTexture *gameMenuTexture = [SPTexture textureWithContentsOfFile:filePath];
于 2012-12-21T08:44:18.540 に答える
0

このようなものをテストするSPTexture *gameMenuTexture = [SPTexture textureWithContentsOfFile:(@"MainMenu.png")];

于 2012-12-21T08:46:30.687 に答える
0

シミュレータは、Macで実行される単なるアプリケーションです。/Users/name/Documents/appname/GFX/MainMenu.pngなどのMac上のファイルに簡単にアクセスできます。

iOSデバイスはMac上のファイルに直接アクセスできません。最新のアプリを配布すると、サードパーティのユーザーはMac上の何にもアクセスできなくなります。

もう一回考えて。それは意味を成します。

于 2012-12-21T08:51:29.757 に答える