RN填坑记录

  • 网络调试,开启网络调试后,发送请求无法正常返回数据,response为空,需要关闭后恢复正常
  • 安卓获取权限,在AndroidManifest中声明的,在android 6.0之前直接就可以获取,在之后一些敏感的权限(定位、文件、相机等)需要先声明然后使用PermissionsAndroid动态获取(弹窗让用户确认)。可根据用户是否选择不再提醒要求用户到系统设置中修改。
  • formData无法使用,需要在app.js中加入以下代码
    1
    global.FormData = global.originalFormData

MAC开发RN项目

用xCode需要打开.xcworkspace文件

无法找到模拟器错误

1
error Could not find "iPhone X" simulator

运行时指定模拟器版本解决

1
react-native run-ios --simulator="iPhone 11"

react-native run-android报错spawnSync ./gradlew EACCES
通过修改./gradlew文件的权限解决

1
chmod 755 android/.gradlew

pod install报错443,执行下面语句解决

1
pod repo remove trunk && pod install

1
Undefined symbols for architecture x86_64

无法启动react-native-config,无法使用pod install安装,需要删除Podfile中react-native-config相关行,然后手动link

1
2
// Podfile
- pod 'react-native-config', :path => '../node_modules/react-native-config'

1
2
3
yarn add react-native-config
react-native link react-native-config
react-native run-ios

native module cannot be null,某些第三方包(react-native-amap3d)用到了源生模块,但是没有正确的配置造成的

1
2
3
4
5
6
7
8
// AppDelegate.m
#import <AMapFoundationKit/AMapFoundationKit.h>
...
{
[AMapServices sharedServices].apiKey = @"你的高德 Key";

RCTBrige ....
}

0%