将构建上传到 App Store 错误:“ITMS-90338:非公共 API 使用”?

Posted

技术标签:

【中文标题】将构建上传到 App Store 错误:“ITMS-90338:非公共 API 使用”?【英文标题】:Uploading build to App store Error: "ITMS-90338: Non-public API usage"? 【发布时间】:2020-02-12 11:12:59 【问题描述】:

我使用的是 Xcode 11.1 版。我的应用是 Flutter 应用。

我正在尝试使用 Xcode 和 App Store connect 上传我的移动应用程序。除了实际构建之外,我拥有关于应用商店连接的所有必要信息。由于以下错误(根据 Apple),我无法上传构建:

尊敬的开发者,

我们发现您的应用“******”1.0.0 (0.1) 最近交付的一个或多个问题。请更正以下问题,然后重新上传。

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

虽然您不需要解决以下问题,但我们想让您了解这些问题:

ITMS-90078:缺少推送通知权利 - 您的应用似乎注册了 Apple 推送通知服务,但应用签名的权利不包括“aps-environment”权利。如果您的应用程序使用 Apple 推送通知服务,请确保您的应用程序 ID 在配置门户中启用推送通知,并在使用包含“aps-environment”权利的分发配置文件签署您的应用程序后重新提交。 Xcode 不会在构建时自动从配置文件中复制 aps-environment 权利。这种行为是故意的。要使用此权利,请在项目编辑器的“功能”窗格中启用推送通知,或手动将权利添加到您的权利文件中。如需更多信息,请参阅https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW1。

最好的问候,

App Store 团队

我知道第二个错误不是必需的,但我想包含所有电子邮件文本,以防我遗漏了什么。我一直在网上阅读很多人对最近几次 Xcode 更新有问题?

如何上传我的应用程序?*

【问题讨论】:

这里有同样的问题。找到解决办法了吗? 这里也是,我猜 Flutter 团队应该解决一些问题! 【参考方案1】:

我能够成功上传我的应用程序! 这是我更改的内容: 正如 Thoai 所提到的,我尝试从终端运行 Flutter ios 构建命令,但我不断收到我提到的错误(找不到命令)所以我所要做的就是更新我的路径,然后我能够运行命令,它工作。

如何更新你的颤振路径: Flutter command not found

【讨论】:

【参考方案2】:

要在 Flutter 应用程序中转义 _ptrace 符号,请使用以下代码构建应用程序:

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

在您可以将存档上传到 App Store Connect 之后。 您可以在下面的链接中找到有关修复的其他信息: https://github.com/flutter/flutter/issues/37850

【讨论】:

【参考方案3】:

您尝试根目录项目并在终端中执行 com "flutter build ios"

【讨论】:

我不断收到“-bash: flutter: command not found”错误,这就是我一直在使用Xcode的原因【参考方案4】:

在 Xcode 中,转到 Product > Scheme > Edit Scheme,然后编辑“Run”方案——将“Build Configuration”更改为“Release”。

【讨论】:

它只是运行配置,这个解决方案没用。 App Store 所需的存档配置默认设置为 Release。

以上是关于将构建上传到 App Store 错误:“ITMS-90338:非公共 API 使用”?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 OneSignal 插件将应用上传到 App Store?错误 ITMS-90362 “MinimumOSVersion”无效

上传到 iOS App Store 时出错:错误 ITMS-9000 “此捆绑包无效”

尝试将应用程序上传到 App Store 时获取 ITMS-4238“冗余二进制上传”

ERROR ITMS-90502 App Store上传 - Xcode

尝试将存档提交到 App Store 时出现各种 ITMS 错误

上传到 Mac App Store 时出错:ITMS-90239