到 testflight 的 Flutter Archive 应用程序给出错误 ITMS-90338:非公共 API 使用

Posted

技术标签:

【中文标题】到 testflight 的 Flutter Archive 应用程序给出错误 ITMS-90338:非公共 API 使用【英文标题】:Flutter Archive app to testflight gives error ITMS-90338: Non-public API usage 【发布时间】:2020-11-12 21:05:54 【问题描述】:

我正在开发一个 Flutter 应用程序并尝试将新版本上传到 testFlight

颤振医生-v

[✓] Flutter (Channel stable, v1.9.1+hotfix.6, on Mac OS X 10.15.5 19F101,语言环境 英美) • Flutter 版本 1.9.1+hotfix.6,位于 /Users/shadysherif/Documents/Dev/flutter • 框架修订68587a0916(10个月前),2019-09-13 19:46:58 -0700 • 引擎修订版 b863200c37 • Dart 版本 2.5.0

[✗] android 工具链 - 为 Android 设备开发 ✗ 无法定位 Android SDK。 从以下位置安装 Android Studio: https://developer.android.com/studio/index.html 首次启动时,它将帮助您安装 Android SDK 成分。 (或访问https://flutter.dev/setup/#android-setup了解详细信息 指示)。 如果 Android SDK 已安装到自定义位置,请设置 ANDROID_HOME 到那个位置。 您可能还想将它添加到您的 PATH 环境变量中。

[✓] Xcode - 为 ios 和 macOS 开发 (Xcode 11.5) • Xcode 位于 /Applications/Xcode.app/Contents/Developer • Xcode 11.5,内部版本 11E608c • CocoaPods 1.9.3 版

[!] Android Studio(未安装) • 未找到Android Studio;从下载 https://developer.android.com/studio/index.html (或访问https://flutter.dev/setup/#android-setup了解详细信息 说明)。

[!] 连接的设备 !没有可用的设备

!医生发现了 3 类问题。

问题 #1

归档应用程序并将其上传到 testFlight 后,我​​收到一条成功消息,但在 testFlight 上找不到任何构建。我等了 10 多分钟,testFlight 显示 no builds。我尝试了很多次,我也尝试导出而不是上传,因为一位同事告诉我上传时可能是 XCode 问题,我使用了该工具,但我没有运气。

最后,我发现错误是作为电子邮件发送到我的开发者帐户邮箱的!!!

问题 #2

我很高兴我发现了错误以及所有详细信息:

我们发现您的应用最近交付的一个或多个问题, “应用程序名称”版本。请更正 以下问题,然后重新上传。

ITMS-90338:非公开 API 使用 - 应用引用非公开 Frameworks/Flutter.framework/Flutter 中的符号:_ptrace。如果方法 源代码中的名称与上面列出的私有 Apple API 匹配, 更改您的方法名称将有助于防止此应用程序被 在以后的提交中标记。此外,请注意其中一项或多项 上述 API 可能位于包含的静态库中 与您的应用程序。如果是这样,它们必须被删除。了解更多信息, 访问技术支持信息 http://developer.apple.com/support/technical/

我没有在网上找到太多帮助

【问题讨论】:

【参考方案1】:

我是一个非常棘手的问题,我什至不知道 xcode 本身编译和存档开发符号是什么!

解决方法很简单,在你的flutter项目根目录下运行命令

flutter clean
rm -rf ios/Flutter/Flutter.framework
flutter build ios --release

然后是 product -> archive ,构建会直接上传到 testFlight ,需要一段时间进行处理。

【讨论】:

以上是关于到 testflight 的 Flutter Archive 应用程序给出错误 ITMS-90338:非公共 API 使用的主要内容,如果未能解决你的问题,请参考以下文章

flutter ios app在testflight模式下显示白屏?

Flutter 的 iOS 构建更新为 TestFlight 但在 Activity 会话中的“处理”状态后消失

使用 testflight 部署的一些构建崩溃

Flutter 背景 iOS 通知在 XCode 或 TestFlight 中不起作用

构建中的多个配置文件-> TestFlight 的存档

Flutter 飞溅闪烁问题