2012-12-21 46 views
0

当我在模拟器上测试我的应用程序时,一切正常。但是,当我在我的iOS设备上测试,我得到这个错误:在iOS设备上找不到文件,但在模拟器中工作

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

我查了构建阶段复制包资源,并加入了一切。当我突出显示Xcode中的文件时,将在实用程序中检查目标成员身份。

我也尝试省略加载文件的代码,但我在不同的文件上得到相同的错误。似乎只有应用程序图标和启动图像加载正确。

请注意,我用的麻雀框架(如果让任何区别)。纹理加载像这样:

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

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

帮助将不胜感激。我已经在各个论坛上寻找答案。谢谢!

+1

你检查过文件名吗?其大小写敏感。它可能在模拟器中工作,如果你忽略它 –

回答

0

测试这样的事情SPTexture *gameMenuTexture = [SPTexture textureWithContentsOfFile:(@"MainMenu.png")];

+0

谢谢!这工作! – Bromium

2

问题是与硬编码的路径:

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

在设备不会有在指定的路径中的任何文件夹中。

如果它是捆绑使用:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"MainMenu" ofType:@"png"]; 
SPTexture *gameMenuTexture = [SPTexture textureWithContentsOfFile:filePath]; 
+0

谢谢!我现在知道了。 – Bromium

+0

@Bromium:高兴:) –

0

你的模拟器只是你的Mac上运行的应用程序。它可以轻松访问我们Mac上的文件,例如/Users/name/Documents/appname/GFX/MainMenu.png。

您的iOS设备无法直接访问Mac上的文件。当你发布你的应用时,第三方用户很难在Mac上访问任何内容。

想一想。它的确有用。

+0

非常感谢! – Bromium

相关问题