客户端日志的重要性
一般出现问题时,首先要做的便是看看此时的日志信息,可以找到相关的提示和报错。
如果需要我们帮忙分析问题,提供完整的日志信息 也是避免无效沟通的关键
开启客户端日志的接口
Android:
JPushInterface.setDebugMode(true); // 设置开启 JPush 日志,发布时请关闭日志
JMessageClient.setDebugMode(true);//设置开启 JMessage 日志,发布时请关闭日志
iOS:
[JPUSHService setDebugMode];//设置开启 JPush 日志
[JMessage setDebugMode];//设置开启 JMessage 日志
查看客户端日志的具体方法
iOS
- 将你的手机连上Xcode;
- 在Xcode上面的菜单栏上,选window->device;
- 点击你的设备,在下方有个三角箭头,点击下,就能看到打印了。
详细图示 点我查看
Android
1.usb连接手机
2.进入终端(windows系统下的cmd)执行adb logcat -f /sdcard/logjpush.txt 命令
如果adb命令没用,说明你的环境变量里面没有配置Android环境变量,如何配置请自行Google
3.启动demo工程
4.退出adb命令,随便进入一个磁盘。执行 adb pull /sdcard/logjpush.txt (或者您自己去手机的sdcard找到logjpush.txt这个文件拷贝出来)
5.将logjpush.txt上传。
iOS调用接口开启后依旧没有日志?
检查是否又调用了关闭日志的接口
[JPUSHService setLogOFF];//设置关闭 JPush 调试信息,无法全部关闭,建议发布时调用 [JMessage setLogOFF];//设置关闭 JMessage 调试信息,无法全部关闭,建议发布时调用
检查是否做了屏蔽日志的操作 「参考开发者的分享 第八点」
屏蔽的操作如下:
Xcode8里 Edit Scheme-> Run -> Arguments,
在Environment Variables里边添加 OS_ACTIVITY_MODE = Disable若需要操作 1 来屏蔽一些无用日志而有用的日志依旧输出,可以自定义一个宏定义,来做日志输出。
#ifdef DEBUG
#define DDLOG(...) printf(" %s\n",[[NSString stringWithFormat:VA_ARGS]UTF8String]);
#define DDLOG_CURRENT_METHOD NSLog(@"%@-%@", NSStringFromClass([self class]), NSStringFromSelector(_cmd))
#else
#define DDLOG(...) ;
#define DDLOG_CURRENT_METHOD ;
#endif
```
0条评论