Существуют ли 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)
Другие вопросы по тегам