美文网首页bugs
iOS 程序中警告处理

iOS 程序中警告处理

作者: 徐帆_a15b | 来源:发表于2019-04-30 17:24 被阅读0次

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

    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; //黑底白字,

    相关文章

      网友评论

        本文标题:iOS 程序中警告处理

        本文链接:https://www.haomeiwen.com/subject/qfwbwqtx.html