0%

iOS项目错误总结

解决 iOS View Controller Push/Pop 时的黑影

问题展示

之前做项目时,发现导航push到下个界面的时候,右上角会出现黑影,push完后就消失了,如下图

错误原因

iOS 自 7.x 某个版本以后就有这个问题,push到下个界面的时候右上角黑影为下个界面的颜色

解决方案

如果这个ViewController 是在 TabBarViewController 的 NavigationController 上 Push/Pop的,那么只需要把 TabBarViewController 的 View 设置一下白色背景就可以了。

建立一个 UINavigationController 的父类,在父类写上self.view.backgroundColor = [UIColor whiteColor];让你的NavigationController都继承,这样就OK了。

但是到这里为止,只解决了 50%,还有另外一种情况没有解决,那就是如果你 present了一个NavigationController + ViewController后,在这个下面再进行Pop/Push 也是会有黑影的情况下。这种情况如何解决呢?

类似的,设置一下 self.navigationController.view.backgroundColor = [UIColor whiteColor]; 即可。

Xcode11版错误总结

LLDB PRC

错误展示

错误截图

具体原因未知,在去掉爱加密的服务之后在日志打印台上打印了具体报错信息,如下:

日志

遇到React Native启动报错的问题 getCurrentAppState:error 和 objectAtIndexedSubscript: 的解决方案

错误原因
  • 爱加密之后xcode11调试不会报具体错误信息
  • React-Native内部代码在xcode11中会报错
解决方案

在RCTModuleMethod.mm文件中

1
2
3
4
5
static BOOL RCTParseUnused(const char **input)
{
  return RCTReadString(input, "__unused") ||
        RCTReadString(input, "__attribute__((unused))");
}

替换成

1
2
3
4
5
6
static BOOL RCTParseUnused(const char **input)
{
  return RCTReadString(input, "__attribute__((unused))") ||
         RCTReadString(input, "__attribute__((__unused__))") ||
         RCTReadString(input, "__unused");
}

即可解决