相关疑难解决方法(0)

每个iOS版本调用适当的setStatusBarHidden

今天我的应用程序获得批准,但我收到用户的电子邮件说它崩溃了.我想通了

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation: UIStatusBarAnimationSlide];
Run Code Online (Sandbox Code Playgroud)

是问题,因为用户有固件3.1.x这个API不起作用,应用程序崩溃.

所以我用它替换它

    if ([[[UIDevice currentDevice] systemVersion] floatValue]>=3.2)
        [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation: UIStatusBarAnimationSlide];
    else 
        [[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
Run Code Online (Sandbox Code Playgroud)

我的问题......

我做了最好的解决方案吗?

当我设置我的Traget OS固件3.0时,为什么XCODE没有警告我SetStatusBarHidden withAnimation不在3.0中?

我是否必须检查每个API以查看它是否与我的目标操作系统一起使用?

谢谢

iphone statusbar

10
推荐指数
1
解决办法
1万
查看次数

抑制行特定的XCode编译器警告

Ben Gottlieb提出的问题类似,我有一些不赞成的电话让我烦恼.有没有办法按线抑制警告?例如:

 if([[UIApplication sharedApplication]
  respondsToSelector:@selector(setStatusBarHidden:withAnimation:)]) {

  [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
 } else {
  [[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO]; //causes deprecation warning
 }
Run Code Online (Sandbox Code Playgroud)

我所关心的只是那条线.我不想关闭所有弃用警告.我也不愿意做一些像文件一样抑制特定警告的事情.

在其他一些情况下,即使编译器生成警告,我也希望将特定行标记为正常.我本质上想让我的团队知道问题已经处理完毕,并且一遍又一遍地停止对同一行进行窃听.

iphone xcode objective-c compiler-warnings

8
推荐指数
1
解决办法
4863
查看次数