iOS经常使用的忽略警告方法

本身参与的一个iOS App 在一次版本升级中规定 最低支持到iOS9.0系统,若是程序中继续使用苹果提供的一些在高版本要废弃的API就会有有警告,不容许集成代码。 好比stringByAddingPercentEscapesUsingEncoding:方法在 iOS 9.0中被废弃了。
那若是不想改(改动带来的风险太大)又不想有警告,该怎么作呢?
了解到能够使用#pragma 声明来防止编译器报警告。spa

#pragma clang diagnostic push
#pragma clang diagnostic ignored "相关命令"
    // 你本身的代码
#pragma clang diagnostic pop
复制代码

针对不一样的场景,相关命令不同,经常使用的有以下五种:指针

  • 未使用变量警告:-Wunused-variable
  • 方法弃用警告:-Wdeprecated-declarations
  • 循环引用警告:-Warc-retain-cycles
  • 不兼容指针类型警告:-Wincompatible-pointer-types
  • 内存泄漏警告:-Warc-performSelector-leaks

好比忽略方法弃用警告code

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
    // 调了弃用API的代码
#pragma clang diagnostic pop
复制代码
相关文章
相关标签/搜索