2012-12-04 39 views
6

我負責爲正在工作的公司開發內部企業應用程序。我遇到了一個我無法弄清楚的巨大障礙。iOS企業應用程序的奇怪問題

該應用程序使用的音頻單元,我有3部iPhone:

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

使用供應配置文件,我可以運行一個測試建立在這些設備上,一切工作正常,用我自己的開發者帳戶,並特設的個人資料,他們都很好。構建它與企業進行無線分發並且所有iOS 5.1.1設備都不起作用。

沒有安裝問題,應用程序加載正確,但音頻單元+我製作的循環緩衝區會下地獄。看起來我得到了大量的緩衝區溢出,但我無法弄清楚爲什麼,只有在企業帳戶發生這種情況。我得到了所有正確的數據,數據正確輸入到音頻中,如果我將循環緩衝區大小增加得非常高,我可以在很短的時間內在這裏獲得正確的音頻,然後它會變得模糊,然後短暫地返回再次朦朧。

我想知道是否有人知道任何測試版本和企業版本之間的根本區別。是否有可能有一些我沒有遵循的最佳實踐,因爲我不明白爲什麼我看到兩者之間存在如此巨大的差異。

注: 只設置改變我做的2構建是代碼簽名,沒有別的

回答

1

沒有你張貼的代碼,我只能猜測。企業版本很可能會在優化時進行編譯,而您的測試版本則不會。您可能已經引入了一些未定義的行爲,導致您的應用程序在優化時表現不規律。我建議在你的代碼上運行分析器並修復任何問題,以及運行分析器。編譯器優化導致問題的例子可以在這裏找到:Compiler optimization causing program to run slower

+0

如果你可以用最少的代碼量,你應該把它添加到你的問題,我會努力,我會更新我的答案重現您的問題。 – Joe

+0

沒錯,優化已經完全發佈,沒有完成調試。非常感謝你,它一直是天!有沒有什麼好的鏈接/文章等來解釋這個東西是如何工作的,一無所知代碼優化 –

+0

是,[百科](http://en.wikipedia.org/wiki/Optimizing_compiler)有什麼樣的好文章東西可能優化期間進行,並且這個[SO問題](http://stackoverflow.com/questions/2722302/can-compiler-optimization-introduce-bugs)提供了一些例子和鏈接。儘管它不是嚴格的Objective-C,但它仍然相關。 – Joe