I'm developing an application that works perfectly well on my phone when I run it through Xcode. But when I distribute a beta through TestFlight, none of the users can run it - NOTE: They can install the app on their phones without any problem. The application just closes before it launches and there are no crash logs on TestFlight.
I can connect any of my testers' phones to my computer and run the app on them (using Xcode) just fine. I thought maybe this is a problem with provisioning profiles, but on my phone, I can delete the relevant profile from Settings app then install the app from the TestFlight link, and it still runs fine.
From things I've read on Stack Overflow, this must be because of some difference in "Release" and "debug" settings of the app, but I'm totally lost as to how to debug it. I can't run the app in release mode while it's connected to Xcode, and I can't debug when it's not connected to Xcode.
Any suggestions?
Update - Resolved
I did end up "solving" this problem. SO user Cliff Ribaudo had the same problem (apparently he was the only other person) and he posted about it here and finally found the solution here. The solution turned out to be setting two linker flags: STRIP LINKED PRODUCT = NO
& STRIP STYLE = DEBUGGING SYMBOLS
. I have no idea why this fixed it, and I don't know why it was broken in the first place. But we haven't had this crash since I made these changes.