如何避免误使用高版本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配置








网友评论