bugs

iOS 程序中警告处理

2019-04-30  本文已影响0人  徐帆_a15b

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

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

例子:屏蔽过时警告

#pragmaclang diagnostic push

#pragmaclang diagnostic ignored "-Wdeprecated-declarations"

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

#pragmaclang diagnostic pop

需要屏蔽其他警告的请看网址:https://www.jianshu.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。

内容来源:https://www.jianshu.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; //黑底白字,

上一篇下一篇

猜你喜欢

热点阅读