升級xcode12后,圖片不顯示解決方案
環(huán)境:
os: macOS Big Sur
react: 16.9.0
react-native: 0.61.2
A: 兩種方案
升級react-native 到 0.63以上(比較復雜一下,涉及依賴包更新)
保持當前版本,為 react-native 包打補?。ㄍ扑]),主要是使用了patch-package,官方的解釋為包作者可以為自己的開發(fā)包快速的打補丁,而不用等到新的pr到來后就可以立即使用。這非常有用,前端包更新速度太快,相互依賴總會有不兼容的情況發(fā)生,而patch-package可以很迅速的為應用開發(fā)者提供‘創(chuàng)可貼’。
具體步驟:
- 打開 RCTUIImageViewAnimated.m
項目/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];
}
}
- 為react-native開始打補丁
npx patch-package react-native
- 添加patches到git里
git add patches/*
例如:patches/react-native+0.61.5.patch
- 添加script自動執(zhí)行補丁
"scripts": {
...
"postinstall": "patch-package",
}
無論何時安裝依賴包,最后總會自動為所有需要打補丁的文件執(zhí)行補丁操作。
3.如果碰到如下錯誤
CFBundleIdentifier", Does Not Exist
點擊推薦做法
嘗試執(zhí)行以下5步
- File -> Workspace Settings -> Build Sytem -> Legacy Build System

image.png
如果我的分享有幫助到您,歡迎來個贊加關注哦,感謝!