到 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 会话中的“处理”状态后消失