为什么我的 Flutter 应用程序仅在 iOS 发布版本中启动时崩溃?

问题描述 投票:0回答:1

我有一个 Flutter 应用程序,刚刚升级到 Flutter 3.19.5,并花了一天时间升级某些软件包并更改应用程序的小样式部分。当我将其发送到 TestFlight 时,我意识到测试版本在启动后立即崩溃,并且在本地使用 --release 标志运行我发现了同样的情况。

我从 Xcode 运行该应用程序,并在应用程序崩溃时发现此错误:

“断言失败:(borrow == 0),函数 GRPC_ec_felem_neg,文件 felem.c,第 66 行。”

这似乎与 BoringSSL 有关,错误引用的函数如下所示:

void ec_felem_neg(const EC_GROUP *group, EC_FELEM *out, const EC_FELEM *a) {
  // -a is zero if a is zero and p-a otherwise.
  BN_ULONG mask = ec_felem_non_zero_mask(group, a);
  BN_ULONG borrow = bn_sub_words(out->words, group->field.N.d, a->words,
                                 group->field.N.width);
  assert(borrow == 0);
  (void)borrow;
  for (int i = 0; i < group->field.N.width; i++) {
    out->words[i] &= mask;
  }
}

我的 Flutter doctor 回来时没有任何问题,并且 Android 版本构建工作正常。

我一整天都在卸载、升级和更改软件包和部署目标,但无济于事。无论发生什么,应用程序都会成功构建,短暂启动,然后立即在启动屏幕上崩溃。

ios flutter mobile cocoapods boringssl
1个回答
0
投票

我有同样的问题,但是是在本机 iOS 应用程序上。经过研究,我注意到问题出现在 Xcode 14 的 10.17 版本上。使用 Xcode 15 效果非常好。

© www.soinside.com 2019 - 2024. All rights reserved.