常见问题
1、引入framework后找不到头文件?
(1).检查Framework Search Paths和 Head Search Paths中的路径是否填写正确
(2).确认是否将tingyunApp.framwork文件“Copy”到工程中
2、使用CocoaPods导入SDK报错(The dependency ’tingyunApp’ is not used in any concrete target)
出错原因是没有用到指定的target,解决办法:在Podfile中添加如下内容,再执行pod install(或者pod update):
target 'MyApp’ do
pod ‘tingyunApp'
end (MyApp 请替换为自己工程里面的target)
3、执行carthage update报错
进入到~/Library/Caches/org.carthage.CarthageKitdependencies/目录下,
将对应的tingyunApp文件夹删除,然后在工程的根目录下执行carthage update
4、嵌码成功后,运行时无log日志?
(1).确认是否添加初始化代码
(2).确认是否重写过NSLog,如果重写的话可能会导致SDK打印的日志无法显示
5、sdk正常启动,但是总连接不到服务器
(1).检查报表端是否禁用了当前应用
(2).确认当前月活是否超过套餐购买月活数
(3).确认安全验证里是否设置了bundleID,并检查其正确性
6、嵌码成功后,进入报表”情报汇总”后发现,报表只展示活跃设备
用户使用的网络协议库是否支持,iOS SDK支持的协议库: NSURLConnection 、ASIHttpRequest、AFNetworking、UIWebview、 NSURLSession(iOS 8及其以上版本)
7、报表网络数据中无法采集TCP数据
(1).SDK 2.5.4版本之后,SDK去除socket的模块,iOS8及其以下系统的无法采集TCP数据
(2).SDK 2.5.4版本之前,iOS 9、10、11无法采集TCP数据
(3).SDK 2.5.0版本之后,只有iOS 10.2及其以上设备的NSURLSession请求(设置delegate方法)、Webview请求以及AFNetworking请求才可以采集到TCP数据
8、无法采集NSURLSession网络数据
确认是否为iOS 8及其以上的设备,基调听云SDK在iOS 8以后才支持NSURLSession
9、URL/错误过滤未生效
(1).一般是正则表达式配置问题,可以通过在线正则工具检查,需注意报表配置正则的前后需要加斜杠
(2).是否配置完毕之后立即查看?(保存配置后需要等待一两分钟,生效后即可登录报表查看)
10、为什么崩溃没有采集到?
(1).基调听云SDK不支持对模拟器的崩溃采集
(2).是否嵌入其他SDK?2.3.2以后SDK已经兼容第三方SDK的崩溃采集,需将SDK初始化代码放置于其他第三方SDK初始化代码之后,以保证基调听云SDK可以正常采集到崩溃数据且第三方SDK也能采集到崩溃数据,故建议将基调听云SDK放在其他第三方SDK后进行初始化(注:如果启动位置正确还是无法采集到崩溃,可能是由于其他SDK做了特殊处理使得他们SDK crash采集的handler在基调听云SDK crash采集的handler之后启动)
(3).如果通过Xcode安装到手机后发生崩溃,基调听云SDK仅支持Exception类型崩溃采集
(4).若应用启动之后立即崩溃,则崩溃采集的handler不能及时启动,导致基调听云SDK无法采集崩溃数据
(5).如果为被系统杀掉或者是由于内存警告导致的闪退,则基调听云SDK无法采集这类数据
(6).基调听云SDK的崩溃采集逻辑是本次崩溃,需要下次启动之后才会上传崩溃数据
(7).确认报表是否开启崩溃采集开关
11、为什么WebView性能数据采集不到?
(1).检查报表是否开启WebView模块开关
(2).确认WebView的delegate是否为ViewController
(3).如果页面加载过程中没有调用onload或者unload事件,则基调听云SDK无法采集该WebView性能数据
(4).如果页面加载过程中调用了onload或者unload事件,但是访问的页面url却为”about:blank”,基调听云SDK无法采集该WebView性能数据
(5).确认设备是否为iOS 10.2及其以上系统
12、无法采集启动时间数据?
(1).确认用户是否在main函数中嵌码,如果是其他位置嵌码,基调听云SDK无法采集启动时间数据
(2).检查报表是否开启UI模块开关,用户启动时间模块是由UI开关控制的,关闭之后基调听云SDK无法采集启动时间数据
13、为什么上传dsym文件后,crash堆栈解析不出来?
确认上传的dsym文件是否正确,步骤如下:
(1).登录报表进入到崩溃详情界面,去掉格式化,查看binaryImage下第一行信息
(2).查看dsym UUID:打开终端进入到dsym文件的目录下, 执行dwarfdump -u xxx (xxx为dsym名字),执行后会显示出dsym的UUID
14、嵌入talkingdata后崩溃采集的线程不正确?
如果嵌入SDK后发现采集NSException崩溃堆栈不正确,请将SDK放在application: didFinishLaunchingWithOptions方法中最后初始化或者将SDK放在main函数中初始化.