美文网首页
iOS中如何避免误使用高版本API导致的崩溃问题

iOS中如何避免误使用高版本API导致的崩溃问题

作者: yanhooIT | 来源:发表于2018-09-02 16:27 被阅读21次

如何避免误使用高版本API导致的崩溃问题

  • 打开-Wunguarded-availability在调用高版本API时候报warning,为避免warning过多而忽视,用-Werror-unguarded-availability标记强制编译不过
    使用高版本API检测配置
  • 如果代码本身安全(使用了respondsToSelector:保护),可以用下面两种方式去除警告
    • 方式一
    // 忽略警告:误使用高版本API版
    #define K_Warning_Ignored_Start_ApiCheck _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunguarded-availability\"")
    
    // 这里写忽略警告的code
    
    #define K_Warning_Ignored_End_ApiCheck _Pragma("clang diagnostic pop")
    
    • 方式二@available
    if (@available(iOS 8.0, *)) {
        // 这里写忽略警告的code
    }
    
  • 针对pod需要在.podspec文件中添加compiler_flags配置

参考文章

相关文章

网友评论

      本文标题:iOS中如何避免误使用高版本API导致的崩溃问题

      本文链接:https://www.haomeiwen.com/subject/kqymwftx.html