React-Native集成Survicate Android构建失败iOS功能异常问题求助
Survicate SDK集成问题排查方案
Android端构建失败解决步骤
你遇到的编译报错是SDK版本不匹配或者构建缓存残留导致的,按以下步骤处理:
- 清理Android构建缓存
- 删除Android项目下的
/.gradle、/app/build、/build缓存目录 - 在Android目录下执行
./gradlew clean命令清理构建残留
- 删除Android项目下的
- 校验依赖配置
- 确认
android/build.gradle中没有手动添加Survicate原生SDK的依赖,版本由@survicate/react-native-survicate包统一管理即可 - 检查
AndroidManifest.xml中的workspaceKey配置是否放在<application>节点内部,不要错放在节点外
- 确认
- 重新构建项目即可解决编译报错
iOS端功能不生效解决步骤
你当前的Info.plist配置格式错误,是功能失效的核心原因:官方要求WorkspaceKey必须放在Survicate对应的字典节点下,你目前将Survicate设为空字典,WorkspaceKey放在外层,SDK无法读取到有效密钥。
修正后的Info.plist配置参考:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Survicate</key> <dict> <key>WorkspaceKey</key> <string>替换为你的实际工作区密钥</string> </dict> 其余原有配置保持不变 </dict> </plist>
配置修改完成后执行以下操作:
- 进入项目ios目录,执行
pod deintegrate && pod install重新安装iOS依赖 - 清理Xcode缓存后重新编译运行项目
通用校验项
完成上述修改后,按以下规则校验功能是否正常:
- 确认Survicate后台创建的问卷触发条件和你代码中调用的逻辑匹配:比如问卷设置了触发条件为收到
test事件、进入testScreen页面,才会正常弹出 - 确认测试设备网络正常,可正常连接Survicate服务
内容的提问来源于stack exchange,提问作者Huan Huynh
相关产品推荐
相关产品推荐

