Как удалить файлы, созданные с помощью ExtAudioFileCreateWithURL в C ++?

Я делаю низкоуровневую обработку звука на iOS. В результате части моего приложения написаны на c ++.

Там я создаю и записываю аудио файлы. Файлы создаются с использованием ExtAudioFileCreateWithURL и написано для использования ExtAudioFileWriteAsync. Файлы закрыты с помощью ExtAudioFileDispose.

Иногда файлы должны быть удалены.

Как удалить файлы, созданные с ExtAudioFileCreateWithURL в с ++?

Поскольку файлы открываются с CFURLRef функция CFURLDestroyResource кажется, что способ сделать это, но эта функция устарела, и мне неясно, что заменит эту функцию.

1

Решение

В конце концов мне удалось решить эту проблему, написав вспомогательную функцию в файле Objective-C и вызвав эту функцию из кода C ++.

bool removeItemAtURL(CFURLRef url) {
NSFileManager *fileManager = [NSFileManager defaultManager];
return [fileManager removeItemAtURL: (__bridge NSURL *)url error: NULL];
}

Хотя это работает, я не уверен, если это сохранить для использования объекта NSFilemanger в потоке аудио рендеринга критичных ко времени. Если это так, то лучше всего разрешить удаление файлов в другом потоке.

0

Другие решения

Других решений пока нет …