首页 > 解决方案 > 在 Objective-C 中向 IBOutlet 添加 iOS 可用性检查

问题描述

我正在将 Sign in with Apple 添加到我的应用程序中,并且我知道它仅在 iOS 13 及更高版本中受支持,而我仍然支持回 iOS 11。

我想通过 Storyboards 添加按钮,因为这就是我正在使用的。当我添加按钮时:

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

我收到以下警告:

在此处输入图像描述

如您所料。

修复它API_AVAILABLE在我的接口声明上方添加了一个宏,所以它现在看起来像这样:

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

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

@end

我的问题是:这是正确的吗?该应用程序在 iOS 12 上仍然运行得非常好,如果它运行的版本低于 iOS 13,我可以隐藏该按钮,但我只是觉得奇怪的是,它的修复程序应用于整个界面,而不仅仅是IBOutlet某种方式。

任何信息表示赞赏。

标签: iosobjective-csign-in-with-apple

解决方案


推荐阅读