ReactNative-闪退日志集成

根据现实情况,先虚拟个场景

客户:喂,小王,上周发布的新版本,用着用着闪退了呢,是不是有什么问题?

小王:奥?主任,能说一下进行了那些操作吗?

客户:具体的我也不是很清楚,下面具体使用的人反应上来的,情况比较紧急,能帮忙看一下哪里出的问题吗?

小王:奥,这样啊。那我马上看一下吧,解决了,给您回复。

 

解决方案

收集日志以帮助开发者迅速定位问题。

 

产品选型

集成第三方服务,最终选择了腾讯家的bugly

 

集成过程(iOS)

  1. 添加pod

    pod ‘Bugly’

  2. 安装组件

    cd ‘工程目录’
    pod install

  3. 修改AppDelete,添加bugly服务

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [Bugly startWithAppId:@"此处替换为你的AppId"]; return YES;

}

 

问题定位测试

  1. 修改ReactNative代码,人为造成一个闪退

    _renderMenu(item, index) {
            return (
                <TouchableOpacity style={styles.touchableOpacityItem}
                                  onPress={this._openNewRn.bind(this, item)}
                                  key={'image' + index}>
                    <Image style={styles.thumb} source={{uri: item.ImageUrl}}/>
                    <Text style={styles.menuText}>{item.name + this.state.m.x}</Text>
                </TouchableOpacity>
            );
        }

    // 注:this.state.m.x这段代码,根本取不到值,开发模式下会有红色的警告,产品模式下直接回闪退
  2. 打包APP,安装,正常运行,点击闪退的页面

   3. 重新打开APP

印象里,这类闪退服务,都是在“下一次启动时”上传日志

  4. 打开bugy后台,查看错误信息(如图)

  

 

posted @ 2018-01-16 15:01  环球移动团队  阅读(718)  评论(0编辑  收藏  举报