2013-01-25 3 views
0

내 앱에서 노래를 녹음하고 저장할 수 있습니다. 내 응용 프로그램을 업데이트하면 AVAudioPlayer를 초기화하는 중 오류가 발생합니다. 노래는 문서 디렉토리에 저장되며, 단순히 해당 노래로 문서 디렉토리 URL을 만들고 위의 오류가 발생합니다. 비슷한 질문에 대한 다른 대답을 읽을 때 -43은 파일을 찾을 수없는 오류이므로 내 문서 디렉토리에 모든 내용을 출력했으며 액세스하려는 파일이 문서 디렉토리에 있음을 분명히 볼 수 있습니다. 문서 디렉토리를 가져 오는 데는 단순히iOS AVAudioPlayer OSStatus 오류 -43

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

을 사용하기 때문에 문서 디렉토리 경로에 오류가 있어서는 안됩니다.

나는 audioplayer, 내가 접근에 노력하고있어 오류 및 URL을 초기화하는 방법 : I 재생하기 위해 노력하고있어 파일이 K라는 것을 알 수있다

[[AVAudioPlayer alloc]initWithContentsOfURL:urlOfSong error:&error]; 
if (error) 
     { 
      NSLog(@"Error in audioPlayer: %@", 
        [error localizedDescription]); 
      NSLog(@"error with this: %@",urlOfSong); 
     } 


2013-01-24 18:51:40.223 app[14104:907] Error in audioPlayer: The operation couldn’t be completed. (OSStatus error -43.) 
2013-01-24 18:51:40.224 app[14104:907] error with this: file://localhost/var/mobile/Applications/C8F1FB54-CF7E-46EC-9B87-8BE3CE9B0A3D/Documents/k%20-%20Spongebob.m4a 

- Spongebob.m4a

2013-01-24 18:51:40.228 app[14104:907] (
    "Recording 11413, 10:28 PM - All I Need.m4a", 
    "k - Spongebob.m4a" 
) 

나는이 내 응용 프로그램을 업데이트 한 후에 만이라고 언급 유의 사항 :

여기 내 문서 디렉토리의 출력됩니다. 업데이트를 보내기 전에 테스트하면 모든 것이 완벽하게 작동했습니다. 새 노래를 녹음하여 저장 한 다음 똑같은 방법으로 재생하려고하면 정상적으로 작동합니다. 이것은 업데이트 전에 녹음 한 노래를 재생하려고 할 때 발생합니다.

도움 사람 ???

답변

2

나는 그것을 알아 냈다. 앱을 업데이트하면 경로의 문서 앞에 오는 글자와 숫자 (예 : 0B6DDD37-792B-4C1A-98A3-1A96B64B4DB0)가 변경됩니다. 오래된 문자와 숫자로 이전 경로를 저장하고 그 경로로 초기화하려고 했으므로 오류가 발생했습니다. 난 그냥 문서 디렉토리에 대한 현재 경로로 초기화했다. 업데이트를 보내기 전에 테스트했을 때이 오류가 발생하지 않은 이유를 설명합니다.

관련 문제