Проблема доступности Foundation API с быстрым

Мы использовали этот код много раз в нашем приложении target c, которое поддерживает устройства iOS 7.

NSArray* paths = NSSearchPathForDirectoriesInDomains(searchPath, NSUserDomainMask, YES);
NSString* documentsDirectory = [paths firstObject];

И в нашем приложении target c документация показывает, что этот API был доступен с iOS 2.0.

введите здесь описание изображения

Мы портируем наш проект на Swift с нуля и там тот же API доступен с iOS 8.

введите здесь описание изображения

Я создал новый тестовый проект Swift, который будет поддерживать iOS 7, и использовал этот API, и это сработало. Теперь я в замешательстве, почему в проекте Swift API доступен с iOS 8.0, но все еще работает на iOS 7.0. Может быть, документы неверны. Но именно так мы проверяли доступность. Если это не заслуживает доверия, потребуется много времени, чтобы проверить доступность API через другие источники.


person BangOperator    schedule 16.08.2016    source источник


Ответы (1)


Swift был представлен в iOS 8, поэтому по умолчанию любые классы Swift в Cocoa Touch Framework будут доступны для iOS 8 или более поздней версии.

Чтобы увидеть реальную доступность функции или класса, проверьте онлайн-документацию. Как показано здесь настоящая доступность NSSearchPathForDirectoriesInDomains относится к iOS 2 и по-прежнему доступна.

Связано: Какова доступность NSNotFound?

person JAL    schedule 12.09.2016