react-native 0.63 适配 Xcode 15 iOS 17.0+

iOS 17.0 Simulator(21A328)下载失败

App Store 更新到 Xcode15 后,无法运行模拟器和真机。需要下载iOS 17对应的模拟器。Xcode中更新非常容易中断失败,可以在官网单独下载iOS 17模拟器文件,例如:iOS_17.0.1_Simulator_Runtime.dmg(7GB),官方下载链接:developer.apple.com/download/al...https://link.juejin.cn/?target=https%3A%2F%2Fdeveloper.apple.com%2Fdownload%2Fall%2F%3Fq%3DXcode

选择对应版本的 Simulator Runtime 下载即可,下载完成后执行如下命令进行安装:

bash 复制代码
sudo xcode-select -s /Applications/Xcode.app
xcodebuild -runFirstLaunch
xcrun simctl runtime add "/Users/songlcy/Downloads/iOS_17.0.1_Simulator_Runtime.dmg"

WkwebsiteDataStore: type argument 'nw_proxy_config_t' is neither an Objective-C object nor a block type

找到 WkwebsiteDataStore.h 文件,将 170000 修改为 180000 :

Assertion failed: (false && "compact unwind compressed function offset doesn't fit in 24 bits"), function operator(), file Layout.cpp, line 5758.

打开 Build Settings,找到 Other Linker Flags,在当下添加 -ld64

react-native-fast-image

修改 FFFastImageView.m 文件:

diff 复制代码
diff --git a/node_modules/react-native-fast-image/ios/FastImage/FFFastImageView.m b/node_modules/react-native-fast-image/ios/FastImage/FFFastImageView.m
index 9c0f1d3..e71f92f 100644
--- a/node_modules/react-native-fast-image/ios/FastImage/FFFastImageView.m
+++ b/node_modules/react-native-fast-image/ios/FastImage/FFFastImageView.m
@@ -71,11 +71,11 @@ - (void)setImageColor:(UIColor *)imageColor {
 
 - (UIImage*)makeImage:(UIImage *)image withTint:(UIColor *)color {
     UIImage *newImage = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
-    UIGraphicsBeginImageContextWithOptions(image.size, NO, newImage.scale);
-    [color set];
-    [newImage drawInRect:CGRectMake(0, 0, image.size.width, newImage.size.height)];
-    newImage = UIGraphicsGetImageFromCurrentImageContext();
-    UIGraphicsEndImageContext();
+    UIGraphicsImageRenderer *renderer = [[UIGraphicsImageRenderer alloc] initWithSize:image.size];
+    newImage = [renderer imageWithActions:^(UIGraphicsImageRendererContext * _Nonnull rendererContext) {
+        [color setFill];
+        [newImage drawInRect:CGRectMake(0, 0, image.size.width, newImage.size.height)];
+    }];
     return newImage;
 }
 

持续更新中...

相关推荐
fdtsaid1 天前
Intel Simics Simulator 介绍(2023)
simulator·仿真器·simics·intel simics
studyForMokey2 天前
【跨端技术】React Native学习记录一
javascript·学习·react native·react.js
fdtsaid2 天前
Simics 的早期岁月——对Simics首席架构师 Bengt Werner 的专访(2018)
simulator·仿真器·simics·intel simics
我是刘成2 天前
基于React Native 0.83.1 新架构下的拆包方案
react native·react.js·架构·拆包
全栈前端老曹2 天前
【ReactNative】页面跳转与参数传递 - navigate、push 方法详解
前端·javascript·react native·react.js·页面跳转·移动端开发·页面导航
刘成3 天前
基于React Native 0.83.1 新架构下的拆包方案
react native
2501_916007474 天前
React Native 混淆在真项目中的方式,当 JS 和原生同时暴露
javascript·react native·react.js·ios·小程序·uni-app·iphone
qq_463408425 天前
React Native跨平台技术在开源鸿蒙中使用WebView来加载鸿蒙应用的网页版或通过一个WebView桥接本地代码与鸿蒙应用
javascript·算法·react native·react.js·开源·list·harmonyos
qq_463408425 天前
React Native跨平台技术在开源鸿蒙中查找最长回文子串的算法,使用中心扩展法(Center Expansion Algorithm)来实现这个功能
算法·react native·react.js·开源·harmonyos
qq_463408425 天前
React Native跨平台技术在开源鸿蒙中使用内置的`fetch` API或者第三方库如`axHarmony`来处理网络通信HTTP请求
javascript·算法·react native·react.js·http·开源·harmonyos