Wil*_*sch 7 xcode warnings objective-c deprecated
我的项目中有一些不赞成使用的常量.他们需要留下来.我不想被警告他们,但是如果其他已弃用的常量稍后会出现在我的项目中,我们希望得到警告.
Apple的标题声明如下:
extern NSString * const NameOfStringConstant __OSX_AVAILABLE_BUT_DEPRECATED(version availability info here)
Run Code Online (Sandbox Code Playgroud)
我怎样才能使警告静音?
Rok*_*arc 24
我知道这是一个古老的话题,但今天我正在处理同样的烦恼.
示例:您希望摆脱恼人的弃用警告,但仅仅[[UIDevice currentDevice] uniqueIdentifier]]
因为您最有可能希望在TestFlight的开发阶段使用它.如果你错误地使用了其他一些弃用的声明,你仍然希望编译器警告你.
我喜欢sarfata的回答:它完成了这项工作.但是政治上更正确的方式可用:
以下食谱来自The Goo Software Blog.
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
[TestFlight setDeviceIdentifier:[[UIDevice currentDevice] uniqueIdentifier]];
#pragma clang diagnostic pop
Run Code Online (Sandbox Code Playgroud)
确保在构建分发之前注释掉这一行.或者只是使用预处理器宏从发布版本中排除这些行.
这个问题的正确答案是不使用已弃用的常量。检查文档以获取立即完成某些任务的推荐方法。对于已弃用的方法/常量/无论什么,如果您愿意,几乎总是有一个指向“替换”的链接。用它来代替。这样,当这些永远消失时,您的代码不会神秘地中断,但您的用户仍然拥有针对旧 sdk 构建的版本,现在他们的代码崩溃了,或者更糟的是,做了奇怪的事情。
归档时间: |
|
查看次数: |
6667 次 |
最近记录: |