集成newrelic-react-native-agent后App Store提交遇ITMS-91056错误
解决React Native集成NewRelic后App Store审核因无效隐私清单失败的问题
优先方案:升级NewRelic SDK版本
- 检查
newrelic-react-native-agent的最新版本,优先升级到官方已修复隐私清单格式问题的版本。 - 在项目根目录的
package.json中更新版本号,执行npm install或yarn install,然后运行cd ios && pod install重新安装依赖。 - 升级后清理Xcode缓存(
Cmd+Shift+K),重新打包提交审核。
临时修复:通过Podfile脚本自动修正隐私清单
如果暂时无法升级SDK,可通过Podfile的post_install脚本在依赖安装完成后自动修复NewRelic框架的PrivacyInfo.xcprivacy文件:
- 打开iOS目录下的
Podfile,在末尾添加以下脚本:
post_install do |installer| # 定位NewRelic框架的隐私清单文件 newrelic_target = installer.pods_project.targets.find { |t| t.name == 'NewRelic' } next unless newrelic_target framework_path = newrelic_target.product_reference.real_path privacy_file = File.join(framework_path, 'PrivacyInfo.xcprivacy') next unless File.exist?(privacy_file) # 读取并修正隐私清单格式 require 'json' privacy_content = JSON.parse(File.read(privacy_file)) # 确保核心字段格式正确(根据NewRelic实际隐私行为调整) privacy_content['NSPrivacyTracking'] = false privacy_content['NSPrivacyCollectedDataTypes'] ||= [] # 写回修正后的文件 File.write(privacy_file, JSON.pretty_generate(privacy_content)) end
- 执行
cd ios && pod install,让脚本生效。 - 清理Xcode的Build Folder(
Cmd+Option+Shift+K),重新打包提交。
注意事项
- 不要手动修改
node_modules或Pods目录下的文件,因为重新执行pod install会覆盖这些修改,必须通过post_install脚本持久化修正。 - 确保修正后的隐私清单符合Apple的格式要求,核心字段如
NSPrivacyTracking、NSPrivacyCollectedDataTypes的取值要匹配NewRelic SDK的实际数据收集行为。
内容的提问来源于stack exchange,提问作者Krunal Panchal
相关产品推荐
相关产品推荐

