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

@ 브롬 : 즐거움과 함께 :) –

0

귀하의 시뮬레이터와 같은 Mac에서 실행 단지 응용 프로그램입니다. Mac에서 /Users/name/Documents/appname/GFX/MainMenu.png와 같은 파일에 쉽게 액세스 할 수 있습니다.

iOS 기기가 Mac의 파일에 직접 액세스 할 수 없습니다. 최신 앱을 배포 할 때 타사 사용자는 Mac에서 거의 액세스 할 수 없습니다.

생각해보십시오. 그것은 의미가 있습니다.

+0

정말 고마워요! – Bromium

관련 문제