Error in iOS7. view controller won't show - ios

Having a strange problem that is getting me into a bit of a panic. Just tested my app on iOS7, when I try to present one of my view controller via segue. I get the error message:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '`**Application tried to present a nil modal view controller on target <SendMessageViewController: 0x15524320>.'**`
Have no idea why this is happening. It works fine in iOS8 but could someone give me some pointers to what I might be doing wrong please?

First of all check the identifier of the viewcontroller is same that you mentioned in storyboard.
Than set back point on this exception to see if model is not nill.
UIAlertController is not supported by iOS 7 so in you're situation you should check the version of the iOS device and that use particular logic.
Use condition to detect if it is possible to use UIAlertController
if NSClassFromString("UIAlertController") != nil {
// Use it
} else {
// Fall back
}

Related

UIActivityViewController crash on iPad landscapoe only app

I just added an UIActivityViewController to share some App data to Facebook, Twitter or email.
The popoverPresentationController is displayed and the listed activities can be selected and the content is shared without problems.
Crash happens when you tap on More... and then hit the done button in the presented empty activities list.
The activities are presented by:
controller.popoverPresentationController.sourceView = cell;
[[CliqmusicViewController instance] presentViewController:controller animated:YES completion:nil];
When the Done button is tapped i got the following exception:
* Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'Supported orientations has no common orientation with the application, and [_UIUserDefaultsActivityNavigationController shouldAutorotate] is returning YES'
The _UIUserDefaultsActivityNavigationController seems to be an SDK internal class, so there is no way to subclass or build a (category) for it.
Using 8.4 SDK.
Any thought? Thanks!

App crash when hitting back Navigation Controller

I have a strange issue where when I hit back (returning to UIViewController I had pushed from), my app crashes. It seems something is sending a message to my deallocated UIViewController (the one being popped).
I think the message being sent is UIViewHierachy Subviews. I do have code in both VCs that called viewDidLayoutSubviews but commenting this out did not help.
When I add an exception breakpoint, my app crashes when launching! Is this a storyboard issue or something in my code?
Crash log says :
2015-02-05 12:37:26.255 FitSpot[46915:6318736] *** -[TrainerCreateNewAccountViewController isKindOfClass:]: message sent to deallocated instance 0x7f988636ad40
Turns out quickly copying and pasting code was my problem:
self.emailSignUpField.layer.delegate = self;
Forgot to remove the layer portion line

Phone gap app crashes by tapping on select box on iOS 8

I have created a phone gap app having two select boxes for date control and time control. On tapping more than once on any of these select boxes causes the app to crash. It gives the following error:
Error 1.** WebKit discarded an uncaught exception in the webView:willRemoveScrollingLayer:withContentsLayer:forNode: delegate: -[WebActionDisablingCALayerDelegate setBeingRemoved:]: unrecognized selector sent to instance 0x78f35320
Error 2. Terminating app due to uncaught exception 'NSGenericException', reason: 'UIPopoverPresentationController () should have a non-nil sourceView or barButtonItem set before the presentation occurs.
I have read an answer (UIActivityViewController crashing on iOS8 iPads) to solve this by native approach. Can anyone let me know how to fix it in the hybrid app.
Thanks
in my case (phonegap app with OnsenUI Framework) I faced the same problem and I figured out it happens due to -webkit-overflow-scrolling: touch; on multiple elements inside a wrapper. After removing the error was gone (at least in my case)

UINavigationController crashes when targeting iOS7 SDK

I have a UINavigationController, that I use to transition between an 'Inbox' and 'Outbox' view controller.
It works fine in iOS6, but when I target iOS7, I get the following:
-[_UINavigationBarBackIndicatorView setAlpha:]: message sent to deallocated instance 0xc383c90
This happens when I call
[rootNav pushViewController:outbox animated:NO];
I've enabled Zombies and used the Allocate instrument to get some more information.
I've attached a screenshot of what I found.
Unfortunately, I have no idea what to do with this information. Does anyone have any ideas?
Also, this app does not use a back button. Maybe this is the issue?
Thanks!

setRefreshed: unrecognized selector sent to UIViewController in Landscape Mode

I have multiple UITableviewControllers which support landscape mode and one UIViewController which does not support landscape mode. Regardless of which view is showing, when I close the app while in landscape mode I get the following exception:
* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[LedgerViewController setRefreshed:]: unrecognized selector sent to instance 0x161df0'
Closing the app in portrait mode does not generate the exception.
A full search of my project does not find the term "setRefreshed" nor can I find the term in any Apple documentation or via Google.
Any ideas?
I found the problem thanks to the AWESOME people at raywenderlich.com who take the time to write some of the best tutorials available: My App Crashed, Now What? – Part 1
An exception breakpoint led me to some poor code in my ApplicationDelegate which assumed the navingationController's rootViewController was "RootViewController" which has a BOOL property of "refreshed". That was a good assumption until I implemented a different view for landscape mode. Hence the reason why the exception was only thrown in landscape mode.
Things I learned today:
With KVC, it should have been obvious to me that "setRefreshed" is the KVC equivalent to "????.refreshed".
I should have read up on advanced debugging techniques years ago.

Resources