2012-12-21 72 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

相關問題