I am experiencing a hard to debug problem. My program crashes because a message is sent to a deallocated object. Using Zombie Objects, I have found out what is causing it to crash, but don't know how to fix it. When my view dissappears, I set the FlurryAds delegate to nil, and upon that view appearing I set it to the view. When I background my app and am in this view, I immediately get a crash. Is there a bug in Flurry?
This is the message printed to the console:
2013-01-18 14:04:44.626 Purdue Course Sniper[19212:c07] *** -[FlurryAd space]: message sent to deallocated instance 0xa6ac490
I am not sending this message anywhere ^^. Why is this message being sent anyways? The delegate is set to nil..
I work for Flurry and I will be happy to help. I need to understand a little more about your integration. Namely, more about this statement "When my view dissappears, I set the FlurryAds delegate to nil, and upon that view appearing I set it to the view". What view is disappearing and appearing? Is this a fullscreen ad? It would also help to know details of your account with Flurry. Can you send an email to support#flurry.com so we can access your account? Thanks and sorry you are experiencing an issue.
(Full disclosure: I work in the Support team at Flurry)
Related
I'm developing an iOS app using MFP 7.0.
Each screen (i.e., view controller) has a unique ID, and I am supposed to use Operational Analytics to send the following info to the server:
How long the user spent on each screen
On which screen the app crashed
Regarding #1, I guess I am supposed to use WLAnalytics's
- (void) log:(NSString*)message withMetadata:(NSDictionary*)metadata;
(right?)
How can I manage #2? Should I just log the screen ID (using the method above) every time a transition occurs, and expect the last logged id to be passed when the crash log is sent? Or is there any other way to add custom information to crash logs?
Correct you can follow Custom Data, Custom Charts here https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/7.0/moving-production/operational-analytics/
Crash log is detected and sent automatically post crash next time app is started. There is no way to add custom data to that report. Usually the place where the error happen could be deduced form the crash data stack, if this is not sufficient, you can apply the technique you are describing.
When running my app on device, it crashes right when I initiate my AvPlayer to stream an mp3. However, it works fine on simulator.
I have tried to run it through Zombie and I get the following error message when it crashes : "An Objective-C message was sent to a deallocated 'UIActivityIndicatorView' object (zombie) at address: 0x108c020e0"
I am using an Activity indicator in previous scenes but I have tried to remove it completely, leaving no line of code mentioning any UIActivityIndicatorView and I still get the same error.
Any idea of how to deal with this? Can it be linked to the system activity indicator displayed the status bar?
Many thanks for your help
It's a crash because of abusing appearance API not as documenting (setting a property not marked with UI_APPEARANCE_SELECTOR).
For reference, see here.
So we have a notification screen where users can customize the push notifications they want to receive. In this view controller, we check if [application isRegisteredForRemoteNotifications], we allow users to use the screen, else we show them the prompt that deep links to settings for the app. Now, what's happing is that certain users are complaining that this prompt never disappears even when they turn on in settings. They have sent us the screenshot of the screen, as well as device settings for the app. We have not been able to reproduce this issue. The view controller is directly checking against the OS flag, so there is not much scope of error there. Also we have gone through the code and haven't found anything. I am assuming that because of network issues, deviceToken is not getting delivered to the app. Not really sure what else might be going here. Appreciate any help or suggestions on this matter.
The main idea is to catch the crash log (or the reason of the error) and send it to a server.
I know that iTunes does log the crashes from the users' devices but I need to find if there's a way to get it and store it on our server.
I was trying "PlCrashReporter" and i finished implementing it (as they did on this link https://www.plcrashreporter.org/documentation/api/v1.0/example_usage_iphone.html).
Problem
The function applicationDidFinishLaunching is not called when the crash occurs.
Am I on the right track?
Is there a specific function which is called upon a crash in AppDelegate ?
Thanks in advance
EDIT
I've also tried the solution of the following question:
iOS crash log catch, debug info.. Catch and send via email to the Dev team
It actually works but there are some errors that are cause by Swift and not Objective-C (Like Error while unwrapping optional value) were not caught..
Any suggestions?
You should use Crashlytics. You then can use a custom web hook to receive the crash reports.
I am having the error which is in the title of the question:
[UIGestureDelayedTouch _didEndScroll:]: unrecognized selector sent to instance 0x8ac52d0
It occurs when I click on the button OR on the table cell.
Trying to debug it I cleared out that this error occurs before the functions that are called when the button/cell is clicked. But after the app is loaded. I.e. the app is working fine untill I make a click, so I cannot locate the code responsible for this error.
I know there are plenty of questions concerning unrecognized selectors and I DID look through them, but I could not find the solution to mine.
And what's more devastating I have no idea what UIGestureDelayTouch and _DidEndScroll are.
In the program I did not implement neither gestures support, nor any scroll views.
Will be thankful for any ideas on why this might be happening.