objective-cioscore-audioios-enterprise

Strange issues with iOS enterprise app


I'm in charge of developing an in-house enterprise app for the company I'm working for. I've hit a huge roadblock that I can't figure out.

The app use's audio units, I have 3 iPhones:

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

using a provisioning profile I can run a test build on these devices and everything works fine, using my own developer account and an ad hoc profile, they all work fine. Build it for wireless distribution with enterprise and all the iOS 5.1.1 devices don't work.

There is no install issue, the apps load correctly but the audio units + a circular buffer I made go to hell. It seems like I'm getting massive buffer overrun, but I can't figure why, its only with the enterprise account that this happens. I'm getting all the correct data, the data is feeding into the audio correctly and if I increase the circular buffer size very high I can here the correct audio for a very short time and then it goes hazy and will come back briefly and go hazy again.

I'm wondering if anybody knows any of the underlying differences between a testing build and an enterprise build. Is it possible there are some best practices that I'm not following, as I can't understand why I'm seeing such huge differences between the two.

Note: Only settings change I'm making between the 2 builds is code signing, nothing else


Solution

  • Without you posting code I can only speculate. The Enterprise build most likely compiles with optimizations while your test builds will not. You may have introduced some undefined behavior that causes your application behave irregularly when optimized. I recommend running the analyzer over your code and fixing any issues, as well as running the profiler. An example of compiler optimizations causing issues can be found here: Compiler optimization causing program to run slower