Когда я конвертировал char * в NSString в моем приложении, я получил эту странную ошибку:
Отмена вызова, поскольку блокировка malloc удерживается, поэтому вызов времени выполнения небезопасен
GDB дал мне следующую информацию.
Отмена вызова, поскольку блокировка malloc удерживается, поэтому вызов времени выполнения небезопасен.
Выполните команду:
отключить режим objc-non-blocking
отменить эту проверку, если вы уверены, что ваш вызов не использует библиотеки malloc или среду выполнения ObjC.
Почему это происходит?
Код, который я использовал здесь:
objcResponse.desc = [NSString stringWithCString:info->desc encoding:NSUTF8StringEncoding];
objCResponse - это объект Objective C, а информация - это объект (класс) C ++.
Другая информация:
Я использую NSOperationQueue в своем приложении для звонков в веб-службу SOAP.
Я также получаю сообщение об ошибке ниже, если я использовал этот код:
char *value = info->desc;
objcResponse.desc = [NSString stringWithCString:value encoding:NSUTF8StringEncoding];
Попытка создать переменную USE_BLOCK_IN_FRAME с блоком, который не находится в кадре.