我们的捆绑包入口点位于src/index.tsx
,这似乎与./index.js
的Sentry默认值不匹配。
Sentry在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
。我们如何自定义?我在文档或源代码中找不到答案。
我找到了这个解决方案(自定义构建脚本(,但它仍然不起作用。
我在项目根目录中有一个脚本:
sentry-cli-xcode-build.sh
:
./node_modules/react-native/packager/react-native-xcode.sh ./src/index.tsx
在项目中的构建命令中.pbxproj:
shellScript = "export SENTRY_PROPERTIES=sentry.propertiesnexport EXTRA_PACKAGER_ARGS="--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map"nexport NODE_BINARY=noden../node_modules/@sentry/cli/bin/sentry-cli react-native xcode ../sentry-cli-xcode-build.sh";
但结果相当模糊:error: Permission denied (os error 13)
我需要以某种方式更改目录设置吗?我在Sentry文档或上面的GH回答中没有看到关于将脚本放在哪里以及如何准确引用它的具体例子。
答案是
export ENTRY_FILE=index.ios.js
在脚本中
事实证明,在使用比特码(默认值(的iOS项目中,应该简单地禁用此构建步骤。因此,我们不再需要运行自定义构建脚本。
之后我们将使用Fastlane上传调试符号。
参考文件:https://docs.sentry.io/platforms/react-native/#ios-细节