Добавление iOS проверки доступности в IBOutlet в Objective- C - PullRequest
1 голос
/ 01 апреля 2020

Я добавляю Вход с помощью Apple в свое приложение и знаю, что оно поддерживается только в iOS 13 и выше, в то время как я все еще поддерживаю обратно до iOS 11.

Я хочу добавить Кнопка через раскадровки, как это то, что я использую. Когда я добавляю кнопку:

@property (weak, nonatomic) IBOutlet ASAuthorizationAppleIDButton *signInWithAppleButton;

, я получаю следующее предупреждение:

enter image description here

, как и следовало ожидать.

Исправление - он добавляет макрос API_AVAILABLE чуть выше моего объявления интерфейса, поэтому теперь он выглядит так:

API_AVAILABLE(ios(13.0))
@interface SignUpViewController ()

// .. bunch of IBOutlets
@property (weak, nonatomic) IBOutlet ASAuthorizationAppleIDButton *signInWithAppleButton;

@end

Мой вопрос: это правильно? Приложение по-прежнему прекрасно работает на iOS 12, и я могу просто скрыть кнопку, если она работает ниже iOS 13, но я просто нахожу странным, что исправление применяется ко всему интерфейсу, а не просто к IBOutlet как-то.

Любая информация приветствуется.

...