1

I have a hybrid app that worked perfectly in every test environment, and a previous version works perfectly in production. The test environments are designed to mimic production exactly, and they have been in use for many release cycles. Yet installing the beta using Testflight (overwriting the old production version) causes problems. No crashes, just getting stuck somewhere in the Javascript. We suppress error messages in production, so I'm not sure what's causing the error yet.

Without going into details on the app, are there differences between an iOS beta app and a proper production app? Clearly the underlying app is the same, and the ID is the same. Does Apple distinguish the beta in any way? Does Testflight do anything that might make a beta app behave different in any way? Even if it's a subtle change in the certificate or the way libraries might behave, this could be relevant to debugging the problem.

Fugue
  • 416
  • 6
  • 20
  • What javascript are you referring to? Without seeing error messages you will have a hard job finding the issue; therefore the only way of progressing to enable error reporting, which should be on in production anyway, IMHO. – trojanfoe Jan 29 '16 at 08:54
  • It's a hybrid HTML5 app, so the functionality is mostly Javascript-based. The point at which it fails is all Javascript. There are several levels of error reporting, where errors are sent back to a server, but in this case I haven't been able to retrieve any. It's not a crash, so no iOS crash logs, and it might be that the Javascript is not throwing a proper error. It's a bit of a black box once in production (by design), so knowing how the beta app differs from a production app would help trace the problem. – Fugue Jan 29 '16 at 09:04
  • I don't see how you can support an app without error messages. I would try enabling them to see if you get anything useful. – trojanfoe Jan 29 '16 at 09:05
  • It's very seldom that an error doesn't get logged on our servers. This only happens when it's not a native iOS error, and the nature of the error in Javascript prevents the app from communicating with the server. To a degree security concerns outweigh ease of debugging, in this case. Too bad for the schmuck who has to do the debugging. :) – Fugue Jan 29 '16 at 09:17
  • 2
    Here's one way it's different... http://stackoverflow.com/questions/26081543/how-to-tell-at-runtime-whether-an-ios-app-is-running-through-a-testflight-beta-i/ – combinatorial Jan 29 '16 at 19:33

0 Answers0