React Native ios工程,升级xcode12后,图片

2021-01-04  本文已影响0人  猫先生的一天

升级xcode12后,图片不显示解决方案

环境:
os: macOS Big Sur
react: 16.9.0
react-native: 0.61.2

A: 两种方案

  1. 升级react-native 到 0.63以上(比较复杂一下,涉及依赖包更新)

  2. 保持当前版本,为 react-native 包打补丁(推荐),主要是使用了patch-package,官方的解释为包作者可以为自己的开发包快速的打补丁,而不用等到新的pr到来后就可以立即使用。这非常有用,前端包更新速度太快,相互依赖总会有不兼容的情况发生,而patch-package可以很迅速的为应用开发者提供‘创可贴’。
    具体步骤:

项目/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m

搜索:

#pragma mark - CALayerDelegate

- (void)displayLayer:(CALayer *)layer
{
  if (_currentFrame) {
    layer.contentsScale = self.animatedImageScale;
    layer.contents = (__bridge id)_currentFrame.CGImage;
  }
}

替换为:

#pragma mark - CALayerDelegate

- (void)displayLayer:(CALayer *)layer
{
  if (_currentFrame) {
    layer.contentsScale = self.animatedImageScale;
    layer.contents = (__bridge id)_currentFrame.CGImage;
  } else {
    [super displayLayer:layer];
  }
}
npx patch-package react-native
git add patches/*

例如:patches/react-native+0.61.5.patch

"scripts": {
  ...
  "postinstall": "patch-package",
}

无论何时安装依赖包,最后总会自动为所有需要打补丁的文件执行补丁操作。

3.如果碰到如下错误

CFBundleIdentifier", Does Not Exist

尝试执行以下5步

如果我的分享有帮助到您,欢迎来个赞加关注哦,感谢!

上一篇 下一篇

猜你喜欢

热点阅读