作者:筷子 | 来源:互联网 | 2023-01-19 16:08
所以,我有一些地方只有在某个版本之后才能提供.一个例子是我在我的应用程序中引入的一些新的NFC东西:
@property(nonatomic, retain) NFCNDEFReaderSession *nfcSession;
我也有它的方法,即使我检查类的可用性,我得到它,例如:
if ([NFCNDEFReaderSession class]){
我的应用程序工作正常,但我得到一个xcode警告说
NFCNDEFReaderSession is partial: introduced in iOS 11.0
我环顾四周,但没有找到一种方法告诉编译器它没关系,并摆脱警告.
指针非常感谢!
1> W Dyson..:
将NS_AVAILABLE_IOS(11.0)添加到方法名称的末尾.例如:
- (BOOL)tableView:(UITableView *)tableView canHandleDropSession:(id)session NS_AVAILABLE_IOS(11.0) {
}
方法调用可以包含在以下内容中以使新API警告静音
if (@available(iOS 11.0, *)) {}
2> Vincent Tour..:
您可以通过在其周围添加Clang"pragma"来静音代码部分的特定警告.在这种情况下:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunguarded-availability"
// your code
#pragma clang diagnostic pop
文档:https://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-via-pragmas