问题描述
过去,我曾经使用Firebase和Crashlytics使用Obj-C构建过iOS应用,之前却没有出现零问题。尝试使用React Native并集成相同的开发工具集。我们正在使用react-native 0.62.2
和react: 16.11.0
。
我的IDE是PhpStorm,用于日常编码,并且用于生成.ipa文件,我使用的是Xcode 12.0.1。
我使用的大多数说明都来自此站点: https://rnfirebase.io/crashlytics/usage
我安装了以下npm模块:
@react-native-firebase/app
@react-native-firebase/analytics
@react-native-firebase/crashlytics
@react-native-firebase/perf
安装完这些后,我运行pod install
来获取iOS需要的任何依赖项。我已经下载并复制了GoogleServices-Info.plist。 分析和性能监控效果很好。但是Crashlytics只是根本不向控制台报告任何数据。
我还在Xcode的构建阶段中为"${PODS_ROOT}/FirebaseCrashlytics/run"
添加了运行脚本。
在我的react代码中,我目前的设置非常基本,在About页面中,我有一个简单的测试按钮可以触发测试崩溃功能。抱歉,长度...这是我的About.tsx页面:
import React from 'react';
import { Text,View } from 'react-native';
import FilledButton from "../../components/FilledButton";
import crashlytics from '@react-native-firebase/crashlytics';
const AboutScreen: React.FC = () => {
const firebaseCrashTesting = () => {
try {
console.log("\n****-- Force Crash (via Firebase) --****");
throw new Error('my error');
} catch (error) {
crashlytics().recordError(error);
console.error(error.message);
console.log(error);
} finally {
crashlytics().crash();
console.log("\n\n\n****-- App has CRASHED --****");
}
}
return (
<View>
<View>
<FilledButton
label='Force CRASH (Firebase)'
backgroundColor={Color.Red}
textColor={Color.White}
onPress={firebaseCrashTesting}
/>
</View>
</View>
)
};
export default AboutScreen;
代码(似乎)可以正常工作,因为当按下按钮时,实际上在按下crashlytics().crash();
方法后,应用确实崩溃了。并且本地console.log()消息出现在我的终端中。
我已阅读到崩溃报告最多可能需要24-48小时才能显示,因此我已经等待了,但仍然看不到任何内容。另请阅读,如果您有一个与IDE绑定的应用程序用于调试,则对Crashlytics的调用将不会发送。因此,在运行run-ios npx
之后,我已在模拟器上关闭了该应用程序并直接重新启动了它。依然没有。我也尝试过使用相同的过程从Xcode内部运行到模拟器的构建。无论是在连接到Xcode时,还是在断开连接并直接在模拟器上运行时。没事。
我还尝试创建存档,使用管理器中的“开发”选项“分发给团队成员”,并生成一个.ipa文件,以便我可以将其上传到Firebase App Distribution中。 DL'ing并从那里运行应用程序之后,什么都没有。我也尝试过使用Ad Hoc方法安装在指定设备上,然后再次通过FB App Dist安装。 (虽然公平地说,尝试临时方法后,我还没有等待24-48小时)。
在Xcode中,我已将“编辑方案/运行”下的“构建配置”更改为“发布”。只是这样做。。。甚至更加令人烦恼,并抛出了某种类型的clang错误,必须处理OpenSSL-Universal和libcrypto.a。
是否有些愚蠢的事情,我做得不好?我认为Firebase本身配置得很好,因为Analytics和Perf可以正常工作。在Xcode中是否有我做不到的事情?还是在我的React代码本身中? React是否需要更新?
或者...或者...或者...
如果我没有提供足够的上下文,请告诉我,我将发送任何示例和/或更新上面的帖子以包含更多内容。
谢谢你?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)