.ipa file behaving differently on different test devices

Good afternoon,


I have a developer in Taiwan who is building an app for me. We're ready to test and he has sent me a .ipa file. This file runs as expected on the three test devices that are physically located in Taiwan (2 iphones, 1 ipad running iOS 10.1.1 and 10.2). However the .ipa file does not run correctly on the 5 test devices here in Canada (mix of iphone 5 & 6, ipad air & air 2 running iOS 10.1.1 and 10.2). I'm at a loss to understand why this test app would run differently in different countries. The only difference I can think of that might affect the .ipa behavior is in the regional versions of iOS associated with Taiwan & Canada. What else might cause compiled code to execute differently on test devices located in different countries?

Any ideas what might be happening here? I've put this into the XCode forum on the assumption that there must be some misconfigured setting when the developer compiles his code to generate the .ipa file. A few more details below...


The app is coded in Swift 3 with 2 functional components:

  • One that automatically uploads some data to a website. This component works perfectly in Taiwan & Canada
  • One that involves the optional pressing of several buttons. In Canada, none of these buttons responds to being pressed. In Taiwan, all work perfectly.

  • We're both using XCode 8.2 and iTunes 12.6.4.42. The developer is on Sierra while I'm on El Capitan.


    Thanks in advance for any responses!

    There aren't "regional versions" of iOS for China and Canada. If you've looked at the beta program, you'll note that iOS versions are produced fir the various device models, not regions of the world. iOS is very thorough about letting you change the regions and locales on the devices so that a device purchased in the US acts the same as a device in Japan, it just needs a different SIM card for the cellular network.


    Among the reasons for differences in behavior between devices:

    • Changes in timing between iOS versions.
    • Different locales resulting in different font settings
    • Performance differences causing different race conditions on different devices


    From personal experience, it's fairly easy to set up a view controller that works on one device, and then fails to work on another because it doesn't resize properly.


    That's not mentioning the obvious "It works perfectly for the developer, and doesn't work for you, because the local build files are dirty" situation. 😐

    Thanks for your response. Very helpful suggestions. The problem turned out to be with a calculation that involves using the offset from GMT. Not surprisingly, the anwer turns out to be quite different if the iDevice is located in Canada vs. Taiwan...


    cheers!

    .ipa file behaving differently on different test devices
     
     
    Q