TestFairy not reporting crashes - ios

It was working for a moment and it suddenly stopped working.
So, the integration is fine, I guess. The version is 1.7.9
Now, what I get is videos and logs for the entire sessions except when the app crashes the video ends and there is no flag of crash in dashboard..
Have anyone experienced this before?

Could it be that you are initializing another crash handler (eg, HockeyApp or Crashlytics) after calling [TestFairy begin]? Most crash handlers don't pass the call after catching the exception, so only the last handler to be initialized will actually get the callback. TestFairy writes a log, and it should also appear in the session overview itself (in the timeline widget.) Hope this helps!

Related

Crashlytics isn't reporting any foreground OOMs

I've created OOM crashes by growing an infinitely large NSArray of NSStrings, and I've even tried calling exit(0) just to make it look like an OOM. While these things to have worked to terminate the app unexpectedly, I don't see any OOMs reported on Crashlytics and it doesn't call the delegate callback, crashlyticsDidDetectReportForLastExecution:, on the next run of the app. I'm running the app on a real device that is not connected to a simulator, and any other kind of crash/error it reports fine. Does anyone have any idea what the issue might be?
Mike from Fabric here. We chatted over Fabric support as well, but to clarify for all. OOMs are detected on the server, but are processed in batch at the end of a current UTC day and will be visible in your Fabric Crashlytics' dashboard starting the next UTC day after our processing completes.

Is there a way to stop an app from closing if it stalls on splash screen?

I've been testing an app for iOS in Xamarin Studio, however whenever I reach a breakpoint or an exception is thrown and I stay there for a few seconds without pushing the continue execution button, the debugging session will close as the app will close on my device. This is due to the process mentioned here, as it is occurring during the splash screen, and if the app pauses too long there, it will close the app because it failed to scene-create. I was wondering if it is possible to disable this when debugging with breakpoints, because I would like to look at the data flow through variables and such.
As matt guessed, it is a Xamarin issue. The response to my inquiry to Xamarin was this,
Xamarin does not currently use a native debugger, thus watchdog is not
disabled. They are looking into alternatives, but for now a potential
workaround is to not do anything until you've returned from the
FinishedLaunching method (i.e. start your launch code in a timer event
for instance), and debug that instead.
Update: the status on this bug is "fixed for the next major release." as of 12/29/15

Why is restart needed to send crash log on iOS?

With a custom crash reporting system (like the ones specialized at Ask the user to send crash log after crash on iPhone) to send the log, the app needs to restart. Why? Isn't there a possibility to send it during the custom exception handling? Or is there a crash reporting system that doesn't need to restart the app?
When a crash occurs the app is in a highly unstable state. So a crash reporting library can not do anything since even allocating memory at crash time may cause way more damage. So crash reporting SDKs can only use so-call async-safe C methods to collect all crash data. Any Objective-C code can not be processed either and also the iOS networking stack can not be used.
Please also note that exceptions are just one example of app crashes in Objective-C, there are also crashes triggered by low-level BSD signals. Both types mean that the app is in a highly unsafe and unstable state and as little code as possible should be invoked at crash time.
So this would require a rewrite of most of the networking frameworks to be able to send data out at crash time, and this may even not be possible to do in a safe way. That is why all proper crash reporting SDKs don't do anything like that.
In addition, on iOS it is not possible to create another process which could send the data in the background, so the only safe and possible solution is to send data the next time the app starts.
Now this has another conclusion that crashes that happen early on app startup might never be sent since the app is crashing before or while it sends. Some SDKs provide mechanisms to handle that scenario which most likely requires changes in your app startup code.
Since you app crashed there is no process running any more that you app controls, thus you can not start a new process to send the report.
Any code in the crash handler only has limited time to save what ever made you app crash before iOS kill whole app and removes it from memory.
When you restart you app the crash reporter formats the crash report and sends it. This can only be down when the when you app is active.

AVPlayer causes Simulator to crash but runs fine on device

I've searched all the Internet around, but found no mentions of this error.
I am using AVPlayer to play stream audio from remote or local URL.
However, while on my device it works fine, on simulator it is crashing.
I've found out that creation of player is going fine, but as soon as I call [playerInstance play] the app crashes.
The error is occurring somewhere in CommonURLAssetNotificationQueue.
And the exception breakpoint points me to 0x10e8a2519: pushq %rbp, which is not helpful at all.
However, on device it works fine.
So, is it my mistake and I have to fix the code? Or it's just simulator acting wonky?
It is likely that you have an exception breakpoint enabled. The play method in AVPlayer normally throws an exception, even though nothing is wrong. The exception doesn't crash the app, and the app then continues to run exactly as you wanted it to. If you have exception breakpoints enabled, however, Xcode notices the exception and crashes the app. If you go into the left sidebar and disable your exception breakpoint the app will run without crashing.
Change exception all as Objective C.
My resolving method is to add 'usage description' in App's Info page. Because the AVPlayer Demo App is trying to use local photo library without asking permission, this causes the demo app to crash. After adding the 'Privacy — Photo Library Usage Description', I can run this demo app successfully.

Admob is crashing but very rare

Usually my iOS app works fine. But sometimes it crashes.
I attached screenshot. I called functions to show admob interstitial.
It crashed.
I am not sure how to debug it and why it crashed that time.
That code works fine most of time but rarely crashes.
My app uses ARC.
It is iphone Open GL ES 2.0 game with Admob and iAd
How do I debug it?
What steps should be done?
I am not sure when I will see such crash next time.
Crashes happen but not often. So If I will remove some components like iAd and will test then I do not know when it will crash and how many tests to run to ensure that removed part was coursing a problem or not.
I do not wish to submit app that sometime crashes. It may course bad reviews.
UPDATE for crashes
#try/#catch is not helping.
delegate update is not helping either.
I got such crash again and have no idea what I can do or what is coursing it.
Wrap that call with try/catch.

Resources