我当前正在更新一个库,对于使用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
。