Старый парсер полагается на работу FILE *
. Однако API Dropbox Sync для iOS возвращает NSFileHandle *
вместо FILE *
в качестве дескриптора файла.Как получить FILE * от NSFileHandle *?
Так что я пытаюсь использовать fileDescriptor
в виде NSFileHandle
:
- (NSFileHandle ) readHandle: (DBError *) ошибки
Возвращает только для чтения дескриптор файла для файла. Если файл не находится в , кеш заблокирован, пока файл не будет загружен. Возврат
Дескриптор файла, если файл может быть прочитан, или nil, если произошла ошибка.
и передается как FILE *
:
- (void)loadDBFile:(DBFile *)dbFile
{
DBError *dbError;
NSFileHandle *fileHandle = [dbFile readHandle:&dbError];
if (fileHandle) {
FILE *file = fileHandle.fileDescriptor;
fseek(file, 0, SEEK_END); // EXE_BAD_ACCESS here!
// ...
}
}
Тем не менее, есть EXE_BAD_ACCESS
на fseek
линии.