ios – Xcode不再向我显示弃用警告
我继承了一个针对iOS6的iOS项目.几个星期前,我把它移到
Xcode 6并清理了所有的警告.一个这样的警告是:
'UITextAttributeTextShadowColor' is deprecated: first deprecated in iOS 7.0 - Use NSShadowAttributeName with an NSShadow instance as the value 我对此的修复使用了NSShadowAttributeName,但我做得不正确,导致应用程序在执行期间的某个时刻崩溃.几个星期后,当我发现时,我暂时恢复了旧代码.但是,当我恢复旧代码时,弃用警告没有回来.我一直无法弄清楚为什么并且想要解决这个问题 – 它警告我警告没有显示出来. 对于它的价值,在代码的某些部分我需要保持弃用警告,因为需要维持对iOS 6的支持.在这些情况下,iOS 6和iOS 7设备有单独的代码,iOS 6代码是包围着: SILENCE_IOS7_DEPRECATION( // iOS 6 code here ); (见https://stackoverflow.com/a/26564750/3352624)这用于: #define SILENCE_DEPRECATION(expr) do { _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored "-Wdeprecated-declarations"") expr; _Pragma("clang diagnostic pop") } while(0) #define SILENCE_IOS7_DEPRECATION(expr) SILENCE_DEPRECATION(expr) #define SILENCE_IOS8_DEPRECATION(expr) SILENCE_DEPRECATION(expr) 我选择不调整Xcode设置并关闭大量代码的警告. 所以我很困惑为什么当我将代码恢复到以前的状态时,不再显示弃用警告. 这是我尝试过的: >从我的代码中删除了对SILENCE_DEPRECATION宏的所有引用 这些都没有导致弃用警告回来.任何想法我接下来应该尝试什么? 解决方法
我意识到这是一个非常古老的线程,但我想我会发布一个答案以防其他人找到这个帖子.
它还取决于Target的Deployment Target设置(即,在“TARGETS”下,单击应用程序并选择顶部的“General”,查看“Deployment Info”部分中的“Deployment Target”).例如,如果我将部署目标设置为7.1并使用在iOS 8中弃用的功能,我将不会收到警告.但是,如果我将部署目标设置为8.x或9.0,我将收到有关这些功能的警告. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |