I have several beta users who are testing (via TestFlight Internal Testing) an app I've built which features a Today widget. Many of them are reporting frequent crashes (The widget appears, then when it attempts to update, the "Unable To Load" message appears in its place). I've replicated it on my own phone as well.
However, TestFlight is reporting zero crashes, even after this has been going on for several days. Does this have to do with the fact that it's the extension, rather than the main app, that's crashing? If so, how can I get at the extension's crash logs?
Related
I have a strange problem with a number of my app users that I’m struggling to figure out.
I’ve had reports from a small portion of my app users that their app starts to crash when they open it. It shows the splash screen but as soon as it is about to engage the main form it crashes back to the home screen of the phone.
The strange thing is that the exact same build prior to submitting to Apple, if installed through TestFlight opens fine. As soon as an affected user then installs the exact same build from the Live Store over it, the app crashes on load again 100%
I’d like to understand what happens technically to an app binary when it transitions from TestFlight to Production in the Apple App Store and wonder if anyone knows?
This may be a red herring and no doubt it’s a bug in my code but I’m suspicious that TestFlight builds behave differently and I’d like to determine if it’s related.
Deployed build via TestFlight. Tester installed the app. For testing the crash report, I maiden the build with force crash code fatalError() on button click. It also happened, but the crash not reported in iTunes connect or Xcode->Organizer
The above screenshot shows the itunes connect status which didn't show the crash count.
Note:
My build is in beta. I have distributed to internal testers
only.
Yet now, I didn't submit to the beta review(none of the previous build too), because, as of now, I don't need to
distribute to the external tester.
I didn't do anything in Xcode for test flight setup.(Thought, it don't need).
If anyone experience with the same, please help me.
Make sure that Share iPhone Analytics and Share With App Developers are checked off under Settings -> Privacy -> Analytics & Improvements
And note that Apple says that some crashes (e.g. watchdog events, invalid code-signature crashes, thermal events, and high-memory use events) may not appear in the Crashes organizer: https://developer.apple.com/documentation/xcode/acquiring-crash-reports-and-diagnostic-logs
In an iOS Mobile App why does crashlytics log crash and send email, when the iOS app is opened after the crash. This behavior is not consistent when crashlytics is integrated with android app.
Typically after a crash, user will stop using the app and not open it again. As a consequence we end up missing several crashes which happen in iOS.
Mike from Fabric here. The behavior is different on each platform since each platform has different behaviors for exception handling and networking.
On iOS, it's unsafe to send much, if any, data after an exception happens that leads to a crash. The app is a horrible state and the device is also resolving an unexpected situation. If, we or other services, tried to send additional data then, you could run the risk of causing an issue on the entire device which it would require the device to restart. Asking a user to restart their device is a much worse behavior then having them need to relaunch the app.
You are correct that some users may never relaunch the app and those crashes are lost, but in general, we've found most users relaunch the app post-crash.
As #Dev_Tandel said, on Android, other background networking services can be used to try and send the crash report then. We will try to do that, but don't guarantee that a report will be sent until the app is relaunched.
I have a serious issue which I cannot seem to solve.
Recently I have made an update to an IOS app, and when testing in XCODE as both Ad-Hoc, Debug, and installing via the .IPA on a device the issue cannot be replicated. However when I download the app from the App Store, it crashes.
Does anyone know how this could happen, and any potential solutions? I am getting lots of complaints from users, and not sure what to do?
Could part of the binary upload have got corrupted?
Probably you always compiled your app in debug mode. But when sent to App Store you made a release compile. click the arrow in the run button select scheme and chose "release mode" and run your app it will probably crash.
check if you used NSParameterAssert as they are not called in release mode
I cannot say why your live App Store application is crashing and the debug version is not. Two possible solutions:
Crash reports:
To find out why your application crashed, you might want to check if there are any crash reports available on iTunes Connect. Log in on iTunes Connect and click on your application. Scroll down to Crash Reports. You will find out more about why your application is crashing here.
More information about crash reports here at Apple's own iOS Developer Library.
Prerelease your app with TestFlight: For in the future: test your application by uploading it on iTunes Connect and testing it with TestFlight first before submitting the application to the iTunes Store. This will save you a lot of (review) time if you find a error.
I realize this is an old thread but I had the same issue with my App that I released. Meaning it worked fine in testing, but when I released it it would crash. The culprit ended up being the fact that I am using In App Purchases. I have two items that can be "bought" but I had only enabled one of them. In testing it was able to read both of them, but with the release version, it was only pulling the one that was enabled down, creating the crash. The fix was simply enabling the disabled item. I didn't even have to redistribute the app, though I had to wait for it to "percolate" through... Anyway this may help someone in the future.
Check if your app is looking for too many IAPs.
I just had this problem and my problem was I had deleted an IAP from the App Store, but didn't remove it from the app code.
For some reason it only crashed when downloaded; I used a promo code to do this before launching my app.
Thanks to Tornado for the inspiration to try this variation.
I was using Evernote and it crash once, So after crashing I reopen it and it ask me for submit crash report to developer.
After some googling I have found in my iTunes Connect Account in Application detail there is one option called Crash reports.
So my conscience is that how to enable crash report submission in Application.
If the app asks for sending crash reports this has nothing to do with iTunes Connect.
The reports you see in iTunes Connect are send automatically by the phone (or iTunes?) when the user has agreed to send diagnostic reports when they set up their device. This happens automatically, you don't have to configure anything at all. Just go to iTunes Connect and get the crash reports.
But to be honest, iTunes Connect crash reports seem a little bit unreliable. If you see them at all it takes almost forever until you see them. Another culprit is that you have to check for new reports manually.
So Evernote, like basically everyone else, switched to a 3rd party service for crash reporting.
I use crashlytics in my own apps. But there are many others.
A good read might be Ray Wenderlichs Overview of iOS Crash Reporting Tools: Part 1/2 and Part 2/2
Some personal experience:
Since my apps don't crash often I usually see "Too few reports have been submitted for a report to be shown." in iTunes Connects crash reporter. But when I open the console of crashlytics is see 6 different crashes right now. Most of them affect only two or three people but it's good to be aware of new issues, even if few people are affected.
iTunes Connect does not show crash reports for prerelease versions of iOS. But it happened that I had a horrible bug in my app that lead to a crash instantly after people opened the settings of my app on a prerelease version of iOS. After the first crash report came in via crashlytics I fixed that bug and submitted an update. Because I didn't have time to test against the first betas it would have taken a while to be aware of this crash if I had relied solely on iTunes Connect.