Вот код, который я использую:
NSFileManager* defaultMgr = [NSFileManager defaultManager];
if (![defaultMgr fileExistsAtPath:path]) {
return nil;
}
Где путь - это URL-адрес файла в системе, например: "file: // localhost / private / var / mobile / Applications / blahblahblah"
Это происходит сбой с SIGABRT, когда выполняется вызов fileExistsAtPath :. Файл существует, и, возможно, формат строки не тот, который предпочитает этот метод, но он должен просто возвращать NO. Этот код является частью очень популярной библиотеки, и хотя мне не нужно строго проверять наличие пути, я действительно хочу понять, что здесь происходит, на случай, если мне когда-нибудь понадобится использовать этот метод напрямую.
В частности:
- Правильно ли автор библиотеки использует этот метод?
- Как можно поймать или ожидать исключения из этого метода?
(Документы SDK не обсуждают, какие исключения могут быть вызваны этим методом.)
- Это ошибка, о которой я должен сообщить в Apple?
Еще одна деталь: я запускаю это на своем устройстве iPhone 4 с iOS 4.1