2012-10-15 5 views
0

현재 앱에 대한 간단한 단위 테스트를 구현하고 있습니다.iOS Simulator는 테스트 리소스에 액세스합니다.

하나의 간단한 테스트 케이스는 미리 정의 된 파일로 AVAudioPlayer를 인스턴스화합니다. 이 테스트는 장치에서 완벽하게 작동합니다. 그러나 시뮬레이터를 사용하여 응용 프로그램을 테스트하면 테스트 자원이 tmp 폴더에 복사되지 않기 때문에 분명히 다른 폴더 구조가 사용됩니다. 내가 시뮬레이터에있어 만약 내가 간단한 검사를 구현 한

soundPath = [[NSString alloc] initWithFormat:@"%@Tests.octest/%@", NSTemporaryDirectory(), fileName]; 

:

는 휴대 전화에 사용되는 경로 나 '만약 내가 사용해야 경로

if (TARGET_IPHONE_SIMULATOR) 
     soundPath = @""; 
    else 
     ... 

그래서 시뮬레이터에서 m? (나는 자원에 하드 코딩 된 경로를 사용할 수 알지만,이 프로젝트는 서로 다른 컴퓨터에서 실행됩니다, 그래서 내가 거기에 넣을 수 없습니다 ..) 당신의 도움에 대한

감사합니다 ...

답변

1

당신을 잘못된 방법을 사용하고 있습니다.

당신은 사용하여 번들 경로를 얻을 수 있습니다 :

NSBundle *bundle = [NSBundle bundleForClass:[self class]]; 
soundPath = [bundle bundlePath]; 

HTH 마티아스

+0

감사 (Tests.octest 포함) 전체 경로를 반환합니다. 예상대로 작동합니다 .. – dominik

관련 문제