首页 > 解决方案 > 是否可以加载 ios 应用程序的调试版本来测试飞行?

问题描述

在 testflight 上进行一些测试时,我们面临着我们的应用程序的一些崩溃。试飞中提供的崩溃报告不是很有帮助,因为我无法在我的应用程序中看到崩溃发生的时间点。也不显示日志输出。因此,我尝试将调试版本上传到 testflight,以至少将其提供给内部测试人员。上传调试版本后,我收到了这封电子邮件:

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

通常无法将调试版本上传到 testflight 吗?

标签: iosfluttertestflight

解决方案


一般来说,将 Debug 版本上传到 TestFlight 是没有问题的。我希望 Flutter 在他们的 Debug 版本中使用这些非公共符号,但在 Release 中删除它们。(“此外,请注意,上述一个或多个 API 可能位于您的应用程序随附的静态库中。”)

另见:https ://github.com/flutter/flutter/issues/64430

它来自 Flutter 引擎。如果 FLUTTER_RUNTIME_MODE 是 DEBUG 或 PROFILE,请参阅IOKit.h ,它们在其中导入私有方法。


推荐阅读