6

我负责为我工作的公司开发一个内部企业应用程序。我遇到了一个我无法弄清楚的巨大障碍。

该应用程序使用的音频单元,我有 3 部 iPhone:

3gs - iOS 5.1.1
4 - iOS 5.1.1
5 - iOS 6

使用配置文件,我可以在这些设备上运行测试构建,一切正常,使用我自己的开发人员帐户和临时配置文件,它们都工作正常。为与企业进行无线分发而构建它,并且所有 iOS 5.1.1 设备都不起作用。

没有安装问题,应用程序加载正确,但我制作的音频单元 + 循环缓冲区陷入困境。似乎我的缓冲区溢出严重,但我不知道为什么,只有企业帐户才会发生这种情况。我得到了所有正确的数据,数据正确地输入到音频中,如果我将循环缓冲区的大小增加得非常高,我可以在很短的时间内在这里获得正确的音频,然后它变得朦胧,会短暂地回来并离开又是朦胧。

我想知道是否有人知道测试构建和企业构建之间的任何潜在差异。是否有可能有一些我没有遵循的最佳实践,因为我不明白为什么我看到两者之间存在如此巨大的差异。

注意:我在 2 个构建之间所做的唯一设置更改是代码签名,没有别的

4

1 回答 1

1

如果没有您发布代码,我只能推测。企业构建最有可能通过优化进行编译,而您的测试构建则不会。您可能已经引入了一些未定义的行为,这些行为会导致您的应用程序在优化时表现异常。我建议在您的代码上运行分析器并修复任何问题,以及运行分析器。可以在此处找到导致问题的编译器优化的示例:编译器优化导致程序运行速度变慢

于 2012-12-04T18:04:41.707 回答