Ошибка связана с тем, что setDestination
ожидает полный путь с именем файла:
Это неправильно:
[fileDl setDestination:@"/Users/ant/ebooks/" allowOverwrite:YES];
Это верно:
[fileDl setDestination:@"/Users/ant/ebooks/file.epub" allowOverwrite:YES];
Итак, объяснение состоит в том, что, вероятно, вы сделали что-то вроде того, что я сделал: укажите существующую папку, в которую вы намеревались поместить данные.
PS: тире до 3001 не позволяет Google возвращать любые результаты с запросом: «NSURLErrorDomain error -3001», он анализируется как: "NSURLErrorDomain and error and not 3001"
..