我当前正在更新一个库,对于使用iOS 7.0及更高版本的用户,不建议使用某些方法。

我已实现以下逻辑以使用正确的方法:

if (SYSTEM_VERSION_LESS_THAN(@"7.0")) {
    //Use old deprecated method
} else {
    //Use the new method supported in 7.0
}


如果我在if语句中使用以下内容来消除警告,并且用户在其应用中发布了此代码,则他们的应用会被拒绝还是可以吗?

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
//old deprecated method
#pragma clang diagnostic pop

最佳答案

要直接回答您的问题,直到Apple删除对API的支持之前,他们不会拒绝在应用程序中使用它。



小心修改第三方库。根据许可证修改开放源代码具有法律含义。

只要有可能,我都会修改用于编译第三方代码的构建系统。例如,如果我的项目中直接包含源文件,那么我将仅针对那些文件取消显示所需的警告。


在项目浏览器中选择项目节点。
选择“构建阶段”标题。
展开编译源部分。
在编译器标志中为开源文件设置-Wdeprecated-declarations

10-06 16:11