После того, как автор завершил, он больше не может быть использован.Вы должны создать новый.Из документов:
Вы можете использовать данный экземпляр AVAssetWriter только один раз для записи в один файл.Если вы хотите писать в файлы несколько раз, вы должны каждый раз использовать новый экземпляр AVAssetWriter.
У меня есть приложение, в котором я использую два AVAssetWriter.Я создаю двух авторов, где только один активен за один раз.Когда достигается некоторое время, я помещаю активную запись в очередь GCD для завершения и восстановления и устанавливаю указатель активной записи на другую запись.
if(time > delta)
dispatch( ^{ finish writer, create new one })
active_writer = next writer
Это хорошо работает при использовании очереди захвата.Вы можете настроить переключатель для выполнения операций с учетом состояния устройства записи.