iOS 程序中警告处理

程序中本地文字警告处理:

1、终极大招,屏蔽警告,一般不要用这个

例子:屏蔽过时警告

#pragmaclang diagnostic push

#pragmaclang diagnostic ignored "-Wdeprecated-declarations"

        //这里写出现警告的代码

#pragmaclang diagnostic pop

需要屏蔽其他警告的请看网址://www.greatytc.com/p/eb03e20f7b1c


2、Xcode Archive出来的包在本地Organizer中看到的App没有图标的问题

解决:检查App中得xxx-info.plist文件中,添加Icon file属性,并填上非retian和Retian屏幕对应的icon文件名称(文件必须存在,且命名如下),如下图所示: 

再次Archive即可发现,本地的Organizer中的App有icon了。


3、警告;Pointer is missing anullability type specifier.....

① 解决方法:可以使用const关键字的地方都可以使用__nullable和__nonnull,不过这两个关键字仅限于使用在指针类型上。

② 开始:NS_ASSUME_NONNULL_BEGIN

结束:NS_ASSUME_NONNULL_END

这两个要配合使用,在其区间的属性都会获得nonnull属性

③ 其实不只是AFHTTPSessionManager.h文件,AFNetworking中的其他头文件如AFNetworkReachabilityManager.h等也是这样处理的:

在@interface前加上NS_ASSUME_NONNULL_BEGIN,在@end后加上NS_ASSUME_NONNULL_END,可空的参数就给它加上nullable。

内容来源://www.greatytc.com/p/0564f70b352a

                  http://www.cocoachina.com/ios/20180125/21982.html


4、stringByAddingPercentEscapesUsingEncoding方法被替换iOS9.0

最近在Xcode中,即iOS9.0,发现之前的一个方法已经不被建议使用了。该方法名即题目中提到的:stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding,这个方法是用来进行转码的,即将汉字转码。可在iOS9.0中,该方法已经被另一个方法替代了,此方法即:stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSetURLQueryAllowedCharacterSet]。这次在对汉字进行转码的时候就使用该方法即可。


5、警告-All interface orientations must be supported unless the app requires full screen

解决方法:


6、出现In file included from /Users/XXXX/XXXX/XXXXDemo_IOS/…

问题:在宏定义class中添加了#warning

解决方法:去掉 宏定义class中的#warning


7、消除警告-kCFStreamNetworkServiceTypeVoIp is deprecated.........

问题:kCFStreamNetworkServiceTypeVoIp 过时了,需要新的来替换

解决方法:导入#import

将 kCFStreamNetworkServiceTypeVoIP换成 PKPushTypeVoIP


8、'setStatusBarStyle:animated:' is deprecated: firstdeprecated in iOS 9.0

问题:setStatusBarStyle:animated: 过时了,需要新的来替换

过时代码:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:NO];//白底黑字,

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];//黑底白字,

解决方法:

在info.plist中,添加值为false的UIViewControllerBasedStatusBarAppearance键。

然后正确代码为:

UIApplication.sharedApplication.statusBarStyle = UIStatusBarStyleDefault; //白底黑字,

UIApplication.sharedApplication.statusBarStyle = UIStatusBarStyleLightContent; //黑底白字,

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 修订历史 版本号修改内容修改日期修改人 说明 本文将以条款的形式逐条说明每个规范,每个条款会标记[强制]、[推荐]...
    比特_0bd7阅读 717评论 0 0
  • 1、设置UILabel行间距 NSMutableAttributedString* attrString = [[...
    FF_911阅读 1,426评论 0 3
  • 1.避免循环引用 如果【block内部】使用【外部声明的强引用】访问【对象A】, 那么【block内部】会自动产生...
    木马不在转阅读 496评论 0 1
  • IOS常用代码总结 1、设置UILabel行间距 NSMutableAttributedString* attrS...
    难却却阅读 586评论 0 0
  • 拙荆远游奔澳洲,姊妹神游逾五周。 女携幼子婆家养,家父重病不远游。 抽空再把车技练,学做骚客把诗诌。 得闲勿作懒散...
    嘉陵侠客阅读 124评论 0 3