问题描述
我们的捆绑软件入口位于src/index.tsx
,似乎与Sentry的默认./index.js
不匹配。
对sentry-cli react-native-xcode
的发送失败,错误为EOF while parsing a value at line 1 column 0
。
使用调试日志级别,我看到:
+ ENTRY_FILE=index.js
...
Error: The resource `/Users/lukecwilliams/Projects/mobile2mr/index.js` was not found.
在实际的CLI命令中,此命令正在运行:--entry-file index.js
我们需要--entry-file src/index.tsx
。我们如何定制它?我在文档或源代码中找不到答案。
我找到了this solution(自定义构建脚本),但是它仍然无法正常工作。
我在项目根目录中有一个脚本:
sentry-cli-xcode-build.sh
:
./node_modules/react-native/packager/react-native-xcode.sh ./src/index.tsx
在project.pbxproj的build命令中:
shellScript = "export SENTRY_PROPERTIES=sentry.properties\nexport EXTRA_PACKAGER_ARGS=\"--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map\"\nexport NODE_BINARY=node\n../node_modules/@sentry/cli/bin/sentry-cli react-native xcode ../sentry-cli-xcode-build.sh";
但是结果是非常模糊的:error: Permission denied (os error 13)
我需要以某种方式更改目录设置吗?我没有在Sentry文档中看到具体的示例,也没有在上面的GH答案中看到有关将脚本放置在何处以及如何准确引用它的示例。
解决方法
事实证明,应仅在使用Bitcode(默认设置)的iOS项目中禁用此构建步骤。因此,我们不再需要运行自定义构建脚本。
此后,我们将使用Fastlane上传调试符号。
参考文件:: https://docs.sentry.io/platforms/react-native/#ios-specifics
,答案是
export ENTRY_FILE=index.ios.js
在脚本中