是否存在iOS等效的GetMacOSStatusErrorString和GetMacOSStatusCommentString

时间:2011-11-14 08:18:45

标签: ios error-handling extract-error-message

我试图弄清楚在将scheduledFileID设置为AUFilePlayer时返回的错误代码。以前在开发OSX时使用

const char * GetMacOSStatusErrorString(OSStatus err);

const char * GetMacOSStatusCommentString(OSStatus err);

但它们在Carbon CarbonCore / Debugging.h中声明,因此在iOS中我无法使用它们。有没有人知道在iOS上这样做的同等方法?

1 个答案:

答案 0 :(得分:3)

我正在使用这种代码来获取可理解的错误代码:

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)