为什么:因为iOS审核必须去掉UiWebView,所以升级RN,RN0.57才支持WKWebView,
一,修改package.json文件,
dependencies:{
"react-native": "0.57.8",
}
二,xcode新版删除了libstdc++.6.0.9.dylib,需手动添加,方法在博可以转载过别人的方法
三,编译通过,但是运行报错,
四,RN库修改,修改,比较笨的办法,也没别的办法了
1 ,react-native/Libraries/StyleSheet/normalizeColor的问题,
从0.54.4版本的相同位置拷贝一个,放到StyleSheet里面,并改名字为normalizeColor0544copy,
因为ant-moble依赖这个normalizeColor
在ant-moble/lib/segmented-control/segmented.android.js里面修改
var _normalizeColor = require('react-native/Libraries/StyleSheet/normalizeColor0544copy');
2,react-native/React/Base/RCTModuleMethod.mm
修改这个方法添加一行 ,(94行)
static BOOL RCTParseUnused(const char **input)
{
return RCTReadString(input, "__unused") ||
RCTReadString(input, "__attribute__((__unused__))") ||
RCTReadString(input, "__attribute__((unused))");
}
3,删除ios项目 Libraries/React.xocdeproj/React/Views/ 里面的 RCTWebView 和 RCTWebViewManager
4,打包上传
升级xcode12.5 问题:
1.没安装pod,手动替换代码
find_and_replace(
"../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
"_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules",
"_initializeModules:(NSArray<Class> *)modules")
2 Command /bin/sh emitted errors but did not return a nonzero exit code to indicate failure
sudo chmod -R 777 Xcode工程路径
3.上传后邮件提示webview和推送的错误,全局搜索uiwebview,发现RNDeviceInfo项目里有,之前没问题啊,删了;
4.Missing Push Notification Entitlement - Your app appears to include API used to register with the Apple Push Notification service,,我证书没推送功能,删除delegate里面的推送代码
5.终于上传成功,可以测试!