Существуют ли iOS-эквиваленты GetMacOSStatusErrorString и GetMacOSStatusCommentString
Я пытаюсь понять смысл кода ошибки, возвращаемого при настройке scheduleFileID для AUFilePlayer. Ранее при разработке для OSX я использовал
const char * GetMacOSStatusErrorString (OSStatus err);
const char * GetMacOSStatusCommentString (OSStatus err);
но они объявлены в Carbon CarbonCore/Debugging.h, поэтому они не доступны для меня в iOS . Кто-нибудь знает эквивалентный способ сделать это на iOS?
1 ответ
Решение
Я использую этот вид кода, чтобы получить понятные коды ошибок:
OSStatus ScheduledFilesIDSError = AudioUnitSetProperty(auFilePlayerUnit,kAudioUnitProperty_ScheduledFileIDs,kAudioUnitScope_Global, 0, &filePlayerFile, sizeof(filePlayerFile));
if (ScheduledFilesIDSError == noErr)
{
}
else
{
printf("AudioUnitSetProperty[kAudioUnitProperty_ScheduledFileIDs] failed, Error Code:%ld,\n", ScheduledFilesIDSError);
NSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain code:ScheduledFilesIDSError userInfo:nil];
NSLog(@"Error: %@", [error description]);
}
Полученный лог в моем случае выглядит так:
Error: Error Domain=NSOSStatusErrorDomain Code=-50 "The operation couldn’t be completed. (OSStatus error -50.)"
Error: AudioUnitSetProperty[kAudioUnitProperty_ScheduledFileRegion] failed (-50)