使用EXC_BAD_ACCESS的nativescript iOS应用程序崩溃

时间:2019-01-08 22:29:41

标签: ios firebase nativescript angular2-nativescript

几天前我有一个Nativescript ios应用程序运行良好...然后我将xcode版本升级到10.1,该应用程序停止运行...

现在,我在下一行(322)的FIRApp文件中得到EXC_BAD_ACCESS

 if ([firAnalyticsClass respondsToSelector:startWithConfigurationSelector]) 

xcode screenshot

我的应用程序中有Firebase,之前运行良好。 在我的App_resoures / iOS文件夹中,有从Firebase网站下载的GoogleService-Info.plist

在app.components.ts的ngOnInit函数中,我具有以下代码:

firebase.init({
            // Optionally pass in properties for database, authentication and cloud messaging,
            // see their respective docs.
            iOSEmulatorFlush: true // I found this as a solution but it's not working...
          }).then(
            () => {
              console.log("firebase.init done");
            },
            (error) => {
              console.log(`firebase.init error: ${error}`);
            }
          );

在android应用中,它的工作就像一种魅力。

如果我从Visual Studio Code运行该应用程序,则可以看到启动屏幕,然后关闭该应用程序,而终端/控制台中没有任何错误。从xCode我得到了我提到的错误,并且在控制台中得到了以下内容:

2019-01-08 19:22:26.600969-0300 gdp[53568:11407743]  - <AppMeasurement>[I-ACS036002] Analytics screen reporting is enabled. Call +[FIRAnalytics setScreenName:setScreenClass:] to set the screen name or override the default screen class name. To disable screen reporting, set the flag FirebaseScreenReportingEnabled to NO (boolean) in the Info.plist
2019-01-08 19:22:27.141461-0300 gdp[53568:11406950] libMobileGestalt MobileGestalt.c:890: MGIsDeviceOneOfType is not supported on this platform.
(lldb) 

firebase.nativescript.json

{
    "external_push_client_only": false,
    "using_ios": true,
    "using_android": true,
    "firestore": false,
    "realtimedb": false,
    "authentication": false,
    "remote_config": true,
    "performance_monitoring": true,
    "messaging": false,
    "crashlytics": true,
    "crash_reporting": false,
    "storage": false,
    "functions": false,
    "facebook_auth": false,
    "google_auth": false,
    "admob": false,
    "invites": false,
    "dynamic_links": false,
    "ml_kit": false
}

部署目标

enter image description here

1 个答案:

答案 0 :(得分:0)

因为没有答案,我将写出我为解决上述问题而做的事情:

  • 在模拟器上运行不会提供任何有意义的错误输出,因此我不得不使用物理设备
  • 物理设备错误日志显示FirebaseAnalytics和GoogleAppMeasurement之间的版本不匹配。看来这些Pod必须完全匹配版本,但是podfile.lock中的依赖项使用的是'〜>'而不是'='
  • 更新Podfile以包含确切的GoogleAppMeasurement版本解决了我的构建和部署问题。

这可能对您不起作用,但对我却有效,因为版本继续偏离cocoapods可能会继续产生不匹配的版本。

此处链接了一个GitHub问题文章,该文章有助于确定我遇到的具体问题。

https://github.com/invertase/react-native-firebase/issues/1633