是否可以加载 ios 应用程序的调试版本来测试飞行?

Posted

技术标签:

【中文标题】是否可以加载 ios 应用程序的调试版本来测试飞行?【英文标题】:Is it possible to load a debug verion of an ios app to test flight? 【发布时间】:2020-08-25 15:25:25 【问题描述】:

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

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

一般情况下无法将调试版本上传到 testflight 吗?

【问题讨论】:

【参考方案1】:

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

另请参阅:https://github.com/flutter/flutter/issues/64430

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

【讨论】:

以上是关于是否可以加载 ios 应用程序的调试版本来测试飞行?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 测试飞行内部 Beta 测试 - 添加第二个版本?

与 ios 7 的新测试飞行兼容性

iOS - 从发布版本中排除测试文件

用于生产的测试飞行替代方案[关闭]

测试飞行 Beta:公共链接 URL 每次上传都会改变吗?

iTunes Connect 测试飞行 - 不同的版本号,相同的版本号 - 未显示在测试人员的设备中