qiuxiang / react-native-amap3d

react-native 高德地图组件,使用最新 3D SDK,支持 Android + iOS
https://qiuxiang.github.io/react-native-amap3d/api/
MIT License
1.28k stars 327 forks source link

crash - in AMapViewManager.getView(reactTag:callback:) #746

Open qilovehua opened 2 years ago

qilovehua commented 2 years ago

xcode13.4(xcode-window-organizer-Crashes)里发现两个crashes,是这次升级到3.1.1报的,之前没有报过。 搜了AMapViewManager.getView没找到,估计是高德sdk里报错的?

amap

"react-native": "0.66.4", "react-native-amap-geolocation": "^1.1.2", "react-native-amap3d": "^3.1.1",

qilovehua commented 2 years ago
image

xcode里就这个报错 @qiuxiang 大佬,可以帮忙看看吗? 谢谢

qilovehua commented 2 years ago

@qiuxiang callback(viewRegistry![reactTag] as! MapView),callback里的参数为nil导致crash的,这里参数是什么原因传了nil? swift看不太懂

image
qilovehua commented 2 years ago

所有报错都集中在以下四种设备,奇怪的很。

iPhone 6S | iPhone8,1 iPhone 6S Plus | iPhone8,2 iPhone 7 | iPhone9,1 iPhone 7 Plus | iPhone9,2

qiuxiang commented 2 years ago

这个问题不好排查,得从 rn 入手

qiuxiang commented 2 years ago

看起来和高德 sdk 没关系

pencilCool commented 1 year ago

看一下是不是 没设置地图sdk 的隐私协议

https://lbs.amap.com/api/ios-sdk/guide/create-project/note

js 中 sdk 初始化的时候

AMapSdk.init(
  Platform.select({
    android: "c52c7169e6df23490e3114330098aaac",
    ios: "186d3464209b74effa4d8391f441f14d",
  })
);

会去设置隐私协议 。

如果你是没用AMapSdk.init 而是直接在 原生ios 功能中设置的appkey ,很有可能就是忘记设置 隐私协议 了。

MshengYang commented 11 months ago

+1,遇到同样的问题,也是通过AMapSdk.init() 设置的,希望得到解答