swift simple app always crashing on simulator - swift

My app is basically a webview with a locally stored webapp.
To support URL-Scheme mapping, I call the following function on viewDidLoad, to subscribe to UIApplicationDidBecomeActiveNotification, then when I get such message, I load a webapp into the UIWebView:
/**
* Setup the observer to get notifications about app activation
*/
func initObserver() {
NSNotificationCenter.defaultCenter().addObserver(
self,
selector: "initWebApp",
name: UIApplicationDidBecomeActiveNotification,
object: nil);
}
/**
* Launches the WebApp, this is called from the observer,
* and appDelegate.appParameters has possible parameters to the webapp
*/
func initWebApp() {
var appDelegate=UIApplication.sharedApplication().delegate as AppDelegate;
println ("- Launch Parameters: "+appDelegate.initParameters);
let path=appDelegate.initParameters,
url=NSURL(string: URL_BASE + "?" + (path ?? "")),
requestObj=NSURLRequest(URL: url!);
mWebView.loadRequest(requestObj);
}
However, when I init the webview in this way (coming from the observed handler) the simulator always crashes with the stacktrace enclosed below as soon as I click anywhere on the window.
On the contrary, If I don't subscribe to the event, and just call initWebApp() from viewDidLoad(), everything works fine (obviously URL Scheme mapping doesn't work, but I mean the webview and its app work 100% without crashing)
Can anybody take a look at this stack trace (it's always the same) and give me any pointers?
Is it a bad practice to manipulate UI objects such as UIWebView from an event handler? (I come from Android where you often have to change threads in similar situations)
2015-04-06 02:49:34.907 FunqTV[14285:518122] -[NSURL _effectiveStatusBarStyleViewController]: unrecognized selector sent to instance 0x7ae1cac0
2015-04-06 02:49:34.919 FunqTV[14285:518122] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSURL _effectiveStatusBarStyleViewController]: unrecognized selector sent to instance 0x7ae1cac0'
*** First throw call stack:
*** First throw call stack:
(
0 CoreFoundation 0x00648466 __exceptionPreprocess + 182
1 libobjc.A.dylib 0x02037a97 objc_exception_throw + 44
2 CoreFoundation 0x006502c5 -[NSObject(NSObject) doesNotRecognizeSelector:] + 277
3 CoreFoundation 0x00598bc7 ___forwarding___ + 1047
4 CoreFoundation 0x0059878e _CF_forwarding_prep_0 + 14
5 UIKit 0x00fd3fa8 +[UIViewController _currentStatusBarStyleViewController] + 75
6 UIKit 0x00e63c81 -[UIApplication _updateCurrentStatusBarViewControllerAppearance] + 59
7 UIKit 0x00eb06ea -[UIWindow _updateContextOrderingAndSetLayerHidden:] + 548
8 UIKit 0x00eade74 -[UIWindow _initWithFrame:debugName:scene:attached:] + 336
9 UIKit 0x00eadd1e -[UIWindow _initWithFrame:debugName:attached:] + 79
10 UIKit 0x00eadc7f -[UIWindow _initWithFrame:attached:] + 71
11 UIKit 0x011e6f27 -[UIAutoRotatingWindow _initWithFrame:attached:] + 80
12 UIKit 0x00eadc33 -[UIWindow initWithFrame:] + 63
13 UIKit 0x011e6eba -[UIAutoRotatingWindow initWithFrame:] + 72
14 UIKit 0x011e4e2a -[UITextEffectsWindow initWithFrame:] + 72
15 UIKit 0x00eae09a -[UIWindow initWithContentRect:] + 164
16 UIKit 0x011e4b12 -[UITextEffectsWindow(UIObjectsForPerScreen) _basicInitWithScreen:options:] + 141
17 UIKit 0x011e4bcf -[UITextEffectsWindow(UIObjectsForPerScreen) _initWithScreen:options:] + 182
18 UIKit 0x016fcf8c +[_UIObjectPerScreen objectOfClass:forScreen:withOptions:createIfNecessary:] + 556
19 UIKit 0x011e645c +[UITextEffectsWindow _sharedTextEffectsWindowforScreen:aboveStatusBar:allowHosted:matchesStatusBarOrientationOnAccess:] + 416
20 UIKit 0x011e65b4 +[UITextEffectsWindow sharedTextEffectsWindowForScreen:] + 121
21 UIKit 0x013d173a -[UIPeripheralHost(UIKitInternal) containerWindow] + 156
22 UIKit 0x013d178a -[UIPeripheralHost(UIKitInternal) containerRootController] + 34
23 UIKit 0x013c6e15 -[UIPeripheralHost currentState] + 38
24 UIKit 0x013c6f10 -[UIPeripheralHost isOnScreen] + 35
25 UIKit 0x013d3a6a -[UIPeripheralHost(UIKitInternal) _isCoordinatingWithSystemGestures] + 82
26 UIKit 0x00e70da1 -[UIApplication _shouldDelayTouchesForControlCenter] + 56
27 UIKit 0x00ebd506 -[UIWindow _shouldDelayTouchForSystemGestures:] + 41
28 UIKit 0x0128f8e8 -[_UISystemGestureGateGestureRecognizer touchesBegan:withEvent:] + 498
29 UIKit 0x00eb3946 -[UIWindow _sendGesturesForEvent:] + 567
30 UIKit 0x00eb4abf -[UIWindow sendEvent:] + 769
31 UIKit 0x00e79bb1 -[UIApplication sendEvent:] + 242
32 UIKit 0x00e89bf6 _UIApplicationHandleEventFromQueueEvent + 21066
33 UIKit 0x00e5dbc7 _UIApplicationHandleEventQueue + 2300
34 CoreFoundation 0x0056b98f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
35 CoreFoundation 0x0056149d __CFRunLoopDoSources0 + 253
36 CoreFoundation 0x005609f8 __CFRunLoopRun + 952
37 CoreFoundation 0x0056037b CFRunLoopRunSpecific + 443
38 CoreFoundation 0x005601ab CFRunLoopRunInMode + 123
39 GraphicsServices 0x040152c1 GSEventRunModal + 192
40 GraphicsServices 0x040150fe GSEventRun + 104
41 UIKit 0x00e619b6 UIApplicationMain + 1526
42 FunqTV 0x0007dfbe top_level_code + 78
43 FunqTV 0x0007dffb main + 43
44 libdyld.dylib 0x027a5ac9 start + 1
45 ??? 0x00000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

If I wrap the call to initWebApp() into a dispatch_async() block, it works:
/**
* Setup the observer to get notifications about app activation
*/
func initObserver() {
NSNotificationCenter.defaultCenter().addObserver(
self,
selector: "requestInitWebApp",
name: UIApplicationDidBecomeActiveNotification,
object: nil);
}
/**
* Called from the observer. It now dispatches async a call to the init
* function rather than calling it directly from the observer thread.
*/
func requestInitWebApp() {
println ("Dispatching async call to init webview");
dispatch_async(dispatch_get_main_queue()) {
self.initWebApp();
}
}

Related

X code7 error trying to do PageViewController

In my main storyboard i have my firstViewController then secondViewController and my pageViewController is third.
I am connecting all of them using seque Modal.
First and Second is working but my third is showing me an error.
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Storyboard (<UIStoryboard: 0x7fb15bca4dd0>) doesn't contain a view controller with identifier 'FirstViewController''
*** First throw call stack:
(
0 CoreFoundation 0x0000000108ba7f65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010aa62deb objc_exception_throw + 48
2 UIKit 0x0000000109ccc5d4 -[UIStoryboard instantiateInitialViewController] + 0
3 0x00000001089b422d _TFC8test23SkillPageViewControllerP33_B1A346F97B9DE8BA73F8676576C06E1324newColoredViewControllerfS0_FSSCSo16UIViewController + 365
4 0x00000001089b65cc _TFFC8test23SkillPageViewControllerg22orderedViewControllersGSaCSo16UIViewController_U_FT_GSaS1__ + 92
5 0x00000001089b2f75 _TFC8test23SkillPageViewControllerg22orderedViewControllersGSaCSo16UIViewController_ + 325
6 0x00000001089b3229 _TFC8test23SkillPageViewController11viewDidLoadfS0_FT_T_ + 313
7 0x00000001089b35e2 _TToFC8test23SkillPageViewController11viewDidLoadfS0_FT_T_ + 34
8 UIKit 0x0000000109775931 -[UIViewController loadViewIfRequired] + 1344
9 UIKit 0x0000000109775c7d -[UIViewController view] + 27
10 UIKit 0x0000000109edbb2c -[_UIFullscreenPresentationController _setPresentedViewController:] + 87
11 UIKit 0x000000010974603a -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 133
12 UIKit 0x00000001097885c4 -[UIViewController _presentViewController:withAnimationController:completion:] + 3930
13 UIKit 0x000000010978b878 -[UIViewController _performCoordinatedPresentOrDismiss:animated:] + 489
14 UIKit 0x000000010978b387 -[UIViewController presentViewController:animated:completion:] + 179
15 UIKit 0x0000000109ce2af3 __67-[UIStoryboardModalSegueTemplate newDefaultPerformHandlerForSegue:]_block_invoke + 243
16 UIKit 0x0000000109cd1189 -[UIStoryboardSegueTemplate _performWithDestinationViewController:sender:] + 460
17 UIKit 0x0000000109cd0f8c -[UIStoryboardSegueTemplate _perform:] + 82
18 UIKit 0x0000000109cd1250 -[UIStoryboardSegueTemplate perform:] + 156
19 UIKit 0x00000001095ec1fa -[UIApplication sendAction:to:from:forEvent:] + 92
20 UIKit 0x0000000109750504 -[UIControl sendAction:to:forEvent:] + 67
21 UIKit 0x00000001097507d0 -[UIControl _sendActionsForEvents:withEvent:] + 311
22 UIKit 0x000000010974f906 -[UIControl touchesEnded:withEvent:] + 601
23 UIKit 0x0000000109656aa3 -[UIWindow _sendTouchesForEvent:] + 835
24 UIKit 0x0000000109657691 -[UIWindow sendEvent:] + 865
25 UIKit 0x0000000109609752 -[UIApplication sendEvent:] + 263
26 UIKit 0x00000001095e4fcc _UIApplicationHandleEventQueue + 6693
27 CoreFoundation 0x0000000108ad40a1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
28 CoreFoundation 0x0000000108ac9fcc __CFRunLoopDoSources0 + 556
29 CoreFoundation 0x0000000108ac9483 __CFRunLoopRun + 867
30 CoreFoundation 0x0000000108ac8e98 CFRunLoopRunSpecific + 488
31 GraphicsServices 0x000000010e099ad2 GSEventRunModal + 161
32 UIKit 0x00000001095ea676 UIApplicationMain + 171
33 0x00000001089ba10d main + 109
34 libdyld.dylib 0x000000010b58192d start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
It is a hard guess because you didn't provide any of you code, but as the error state,
You need to set identifier for the view controller you used,in Storyboard > ViewController(one you added to storyboard,I think it is FirstViewController)>attribute inspector
there something called storyboard identifier or something like this, you need to set it. as I see you need to name it "FirstViewController"
I think you are skipping some main steps of configuring a pageviewcontroller, there is a very good tutorial here
it would be very helpful, if you check this tutorial

Swift : Terminating app with uncaught exception of NSExeption?

Before you say "this is a repeat of a question", no. I have checked the question before and all it tells me is to check my outlets. All my outlets are correct and I'm not sure why I'm getting this error. Here's the error in detail :
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSTaggedPointerString objectForKeyedSubscript:]: unrecognized selector sent to instance 0xa00000000006e652'
*** First throw call stack:
(
0 CoreFoundation 0x000000010ddf5d4b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x000000010d85e21e objc_exception_throw + 48
2 CoreFoundation 0x000000010de65f04 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
3 CoreFoundation 0x000000010dd7b005 ___forwarding___ + 1013
4 CoreFoundation 0x000000010dd7ab88 _CF_forwarding_prep_0 + 120
5 Calc 0x0000000108d00b37 -[MPCoreInstanceProvider appTransportSecuritySettings] + 284
6 Calc 0x0000000108cc4147 +[MPAdServerURLBuilder queryParameterForAppTransportSecurity] + 76
7 Calc 0x0000000108cc30d4 +[MPAdServerURLBuilder URLWithAdUnitID:keywords:location:versionParameterName:version:testing:desiredAssets:adSequence:] + 1674
8 Calc 0x0000000108cc2a01 +[MPAdServerURLBuilder URLWithAdUnitID:keywords:location:versionParameterName:version:testing:desiredAssets:] + 173
9 Calc 0x0000000108cc2920 +[MPAdServerURLBuilder URLWithAdUnitID:keywords:location:testing:] + 116
10 Calc 0x0000000108cd3cde -[MPBannerAdManager loadAdWithURL:] + 470
11 Calc 0x0000000108cc03a2 -[MPAdView loadAd] + 48
12 Calc 0x000000010895aa1f _TFFC4Calc18MenuViewController11viewDidLoadFT_T_L_7loadAdsfT_T_ + 175
13 Calc 0x0000000108957d18 _TFC4Calc18MenuViewController11viewDidLoadfT_T_ + 8104
14 Calc 0x000000010895b632 _TToFC4Calc18MenuViewController11viewDidLoadfT_T_ + 34
15 UIKit 0x00000001099cb8b1 -[UIViewController loadViewIfRequired] + 1258
16 UIKit 0x00000001099cbce4 -[UIViewController view] + 27
17 UIKit 0x0000000109895405 -[UIWindow addRootViewControllerViewIfPossible] + 71
18 UIKit 0x0000000109895b56 -[UIWindow _setHidden:forced:] + 293
19 UIKit 0x00000001098a9469 -[UIWindow makeKeyAndVisible] + 42
20 Calc 0x0000000108c32264 _TFC4Calc11AppDelegate11applicationfTCSo13UIApplication29didFinishLaunchingWithOptionsGSqGVs10DictionaryVSC29UIApplicationLaunchOptionsKeyP____Sb + 5716
21 Calc 0x0000000108c34674 _TToFC4Calc11AppDelegate11applicationfTCSo13UIApplication29didFinishLaunchingWithOptionsGSqGVs10DictionaryVSC29UIApplicationLaunchOptionsKeyP____Sb + 180
22 UIKit 0x0000000109820312 -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 290
23 UIKit 0x0000000109821c97 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 4236
24 UIKit 0x000000010982803d -[UIApplication _runWithMainScene:transitionContext:completion:] + 1731
25 UIKit 0x00000001098251bd -[UIApplication workspaceDidEndTransaction:] + 188
26 FrontBoardServices 0x00000001160176cb __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 24
27 FrontBoardServices 0x0000000116017544 -[FBSSerialQueue _performNext] + 189
28 FrontBoardServices 0x00000001160178cd -[FBSSerialQueue _performNextFromRunLoopSource] + 45
29 CoreFoundation 0x000000010dd9a761 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
30 CoreFoundation 0x000000010dd7f98c __CFRunLoopDoSources0 + 556
31 CoreFoundation 0x000000010dd7ee76 __CFRunLoopRun + 918
32 CoreFoundation 0x000000010dd7e884 CFRunLoopRunSpecific + 420
33 UIKit 0x0000000109823a3a -[UIApplication _run] + 434
34 UIKit 0x0000000109829bb8 UIApplicationMain + 159
35 Calc 0x0000000108c4617f main + 111
36 libdyld.dylib 0x0000000110df668d start + 1
37 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
Looks like the Info.plist of your app may not have a proper values for NSAppTransportSecurity or one of its children.
Check out: MPCoreInstanceProvider.m.
"this is a repeat of a question" - next time look at your stack trace, it contains all the hints required:
Close to the top you have the -[NSObject(NSObject) doesNotRecognizeSelector:] which is throwing the exception (objc_exception_throw ...)
doesNotRecognizeSelector means that some code tried to invoke a method which is not available
which one? Look further above: -[NSTaggedPointerString objectForKeyedSubscript:]
so the method missing is objectForKeyedSubscript: which is what the Objective-C compiler generates for an expression like: myObject[#"title"]
it also tells you the class of the object the method is invoked on: NSTaggedPointerString, so some code tried to use [] on a plain string, which doesn't make much sense
Next thing to check is who invoked that code: -[MPCoreInstanceProvider appTransportSecuritySettings] is the last regular code in the stack
so you DuckDuckGo MPCoreInstanceProvider and find MPCoreInstanceProvider.m
which happens to have a appTransportSecuritySettings method
looking into the code it grabs a dictionary NSDictionary *atsSettingsDictionary = [NSBundle mainBundle].infoDictionary[kMoPubAppTransportSecurityDictionaryKey];
and then does a lot of [] operations on that dictionary and values of it
Conclusion: One of the [] is hitting a string when it was expecting a dictionary.

Logout Button crash

I just implemented a logout button on my HeaderView sector. But somehow I keep getting this crash from Xcode.
I feel like this is somehow related to my func logoutBtnClicked(){***}.
so here is what my logoutBtnClicked() looks like:
//clicked logout
#IBAction func logout(sender: AnyObject) {
PFUser.logOutInBackgroundWithBlock { (error: NSError?) -> Void in
if error == nil {
NSUserDefaults.standardUserDefaults().removeObjectForKey("username")
NSUserDefaults.standardUserDefaults().synchronize()
let signin = self.storyboard?.instantiateViewControllerWithIdentifier("signinViewController") as! SigninViewController
let appDelegate: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.window?.rootViewController = signin
}
}
}
2016-08-18 21:18:54.801 helloworld[2439:115160] -[helloworld.HomeViewController Logout:]: unrecognized selector sent to instance 0x78e38840
2016-08-18 21:18:54.829 helloworld[2439:115160] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[helloworld.HomeViewController Logout:]: unrecognized selector sent to instance 0x78e38840'
* First throw call stack:
(
0 CoreFoundation 0x018d1494 exceptionPreprocess + 180
1 libobjc.A.dylib 0x035e5e02 objc_exception_throw + 50
2 CoreFoundation 0x018db253 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275
3 CoreFoundation 0x0181089d ___forwarding_ + 1037
4 CoreFoundation 0x0181046e _CF_forwarding_prep_0 + 14
5 libobjc.A.dylib 0x035fa0b5 -[NSObject performSelector:withObject:withObject:] + 84
6 UIKit 0x020c1e38 -[UIApplication sendAction:to:from:forEvent:] + 118
7 UIKit 0x025519da -[UIBarButtonItem(UIInternal) _sendAction:withEvent:] + 179
8 libobjc.A.dylib 0x035fa0b5 -[NSObject performSelector:withObject:withObject:] + 84
9 UIKit 0x020c1e38 -[UIApplication sendAction:to:from:forEvent:] + 118
10 UIKit 0x020c1db7 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 64
11 UIKit 0x02265f3b -[UIControl sendAction:to:forEvent:] + 79
12 UIKit 0x022662d4 -[UIControl _sendActionsForEvents:withEvent:] + 433
13 UIKit 0x02266483 -[UIControl _sendActionsForEvents:withEvent:] + 864
14 UIKit 0x022652c1 -[UIControl touchesEnded:withEvent:] + 714
15 UIKit 0x0214252e -[UIWindow _sendTouchesForEvent:] + 1095
16 UIKit 0x021435cc -[UIWindow sendEvent:] + 1159
17 UIKit 0x020e4be8 -[UIApplication sendEvent:] + 266
18 UIKit 0x020b9769 _UIApplicationHandleEventQueue + 7795
19 CoreFoundation 0x017e3e5f CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 15
20 CoreFoundation 0x017d9aeb __CFRunLoopDoSources0 + 523
21 CoreFoundation 0x017d8f08 __CFRunLoopRun + 1032
22 CoreFoundation 0x017d8846 CFRunLoopRunSpecific + 470
23 CoreFoundation 0x017d865b CFRunLoopRunInMode + 123
24 GraphicsServices 0x05f27664 GSEventRunModal + 192
25 GraphicsServices 0x05f274a1 GSEventRun + 104
26 UIKit 0x020bfeb9 UIApplicationMain + 160
27 helloworld 0x0007a4e1 main + 145
28 libdyld.dylib 0x043bba25 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
The problem is that in the interface builder for HomeViewController, for button action you have set Logout and inside the class of HomeViewController it is declare as logout, action and property are case sensitive, so either change one of them will solve your crash.

SIGABRT Error swift

Could anyone help me understand why Im getting this error? It seems to be happening when I load one of my view controllers but I can't see why.
What usually causes an error like this?
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITextInputTraits length]: unrecognized selector sent to instance 0x7fbf924828a0'
*** First throw call stack:
(
0 CoreFoundation 0x000000010664ac65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000105f27bb7 objc_exception_throw + 45
2 CoreFoundation 0x00000001066520ad -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3 CoreFoundation 0x00000001065a813c ___forwarding___ + 988
4 CoreFoundation 0x00000001065a7cd8 _CF_forwarding_prep_0 + 120
5 libswiftCore.dylib 0x0000000107ddf728 _TTSf4g_d___TFSSCfMSSFT12_cocoaStringPSs9AnyObject__SS + 120
6 libswiftCore.dylib 0x0000000107dc01a3 _TFSSCfMSSFT12_cocoaStringPSs9AnyObject__SS + 19
7 Project1 0x00000001054ec3bd _TToFC8ASA_Rank22SettingsViewControllers9ASANumberSS + 61
8 Foundation 0x0000000105abdb53 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 259
9 CoreFoundation 0x0000000106592d50 -[NSArray makeObjectsPerformSelector:] + 224
10 UIKit 0x0000000106d1b4eb -[UINib instantiateWithOwner:options:] + 1506
11 UIKit 0x0000000106b736d8 -[UIViewController _loadViewFromNibNamed:bundle:] + 242
12 UIKit 0x0000000106b73cc8 -[UIViewController loadView] + 109
13 UIKit 0x0000000106b73f39 -[UIViewController loadViewIfRequired] + 75
14 UIKit 0x0000000106b743ce -[UIViewController view] + 27
15 UIKit 0x000000010710132d -[_UIFullscreenPresentationController _setPresentedViewController:] + 65
16 UIKit 0x0000000106b4ed69 -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 105
17 UIKit 0x0000000106b80248 -[UIViewController _presentViewController:withAnimationController:completion:] + 1761
18 UIKit 0x0000000106b826c1 __62-[UIViewController presentViewController:animated:completion:]_block_invoke + 132
19 UIKit 0x0000000106b825e5 -[UIViewController presentViewController:animated:completion:] + 229
20 UIKit 0x0000000106a44d62 -[UIApplication sendAction:to:from:forEvent:] + 75
21 UIKit 0x0000000106b5650a -[UIControl _sendActionsForEvents:withEvent:] + 467
22 UIKit 0x0000000106b558d9 -[UIControl touchesEnded:withEvent:] + 522
23 UIKit 0x0000000106a91958 -[UIWindow _sendTouchesForEvent:] + 735
24 UIKit 0x0000000106a92282 -[UIWindow sendEvent:] + 682
25 UIKit 0x0000000106a58541 -[UIApplication sendEvent:] + 246
26 UIKit 0x0000000106a65cdc _UIApplicationHandleEventFromQueueEvent + 18265
27 UIKit 0x0000000106a4059c _UIApplicationHandleEventQueue + 2066
28 CoreFoundation 0x000000010657e431 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
29 CoreFoundation 0x00000001065742fd __CFRunLoopDoSources0 + 269
30 CoreFoundation 0x0000000106573934 __CFRunLoopRun + 868
31 CoreFoundation 0x0000000106573366 CFRunLoopRunSpecific + 470
32 GraphicsServices 0x000000010a1e0a3e GSEventRunModal + 161
33 UIKit 0x0000000106a438c0 UIApplicationMain + 1282
34 Project1 0x00000001054f70c7 main + 135
35 libdyld.dylib 0x0000000108530145 start + 1
36 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Please ask for any other informations that is helpful
Thanks
You most likely have an Outlet assigned to an element on the view controller you are transitioning to that is no longer connected to your code. This youtube video explains it in more detail.
To hunt down this issue, try right-clicking on all your elements (UILabels, UIViews, UIButton...) with the assistant editor open and cross check to see if the outlet name is referenced in the view controller.

popToViewController failed to pop to view error

I am using the following code:
#IBAction func popToRoot(sender:UIBarButtonItem){
navigationController.popToViewController(foodforteethViewController(), animated: false)
}
This function is linked with a custom back button and the h file is linked in the objective-c/swift bridging file. The issue with this is that I get an error as below:
2014-07-19 23:35:40.842 FoodForTeeth[9040:238499] * Assertion failure in -[UINavigationController popToViewController:transition:], /SourceCache/UIKit_Sim/UIKit-3232.3/UINavigationController.m:5345
2014-07-19 23:35:40.845 FoodForTeeth[9040:238499] * Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Failed to get popped view controller.'
* First throw call stack:
(
0 CoreFoundation 0x00000001023ec995 exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010209b9a3 objc_exception_throw + 45
2 CoreFoundation 0x00000001023ec7fa +[NSException raise:format:arguments:] + 106
3 Foundation 0x0000000101cc637f -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195
4 UIKit 0x0000000100b456b6 -[UINavigationController popToViewController:transition:] + 762
5 FoodForTeeth 0x00000001000272fe _TFC12FoodForTeeth9dietDiary9popToRootfS0_FCSo15UIBarButtonItemT_ + 302
6 FoodForTeeth 0x00000001000274f2 _TToFC12FoodForTeeth9dietDiary9popToRootfS0_FCSo15UIBarButtonItemT_ + 66
7 UIKit 0x00000001009f76b6 -[UIApplication sendAction:to:from:forEvent:] + 75
8 UIKit 0x00000001009f76b6 -[UIApplication sendAction:to:from:forEvent:] + 75
9 UIKit 0x0000000100af91c0 -[UIControl _sendActionsForEvents:withEvent:] + 467
10 UIKit 0x0000000100af858f -[UIControl touchesEnded:withEvent:] + 522
11 UIKit 0x0000000100a3c3b8 -[UIWindow _sendTouchesForEvent:] + 735
12 UIKit 0x0000000100a3cce3 -[UIWindow sendEvent:] + 683
13 UIKit 0x0000000100a0a1a1 -[UIApplication sendEvent:] + 246
14 UIKit 0x0000000100a1707a _UIApplicationHandleEventFromQueueEvent + 17591
15 UIKit 0x00000001009f3269 _UIApplicationHandleEventQueue + 1967
16 CoreFoundation 0x0000000102322a31 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17
17 CoreFoundation 0x000000010231826d __CFRunLoopDoSources0 + 269
18 CoreFoundation 0x00000001023178a4 __CFRunLoopRun + 868
19 CoreFoundation 0x00000001023172d6 CFRunLoopRunSpecific + 470
20 GraphicsServices 0x0000000105475bbc GSEventRunModal + 161
21 UIKit 0x00000001009f6288 UIApplicationMain + 1282
22 FoodForTeeth 0x0000000100054db3 main + 115
23 libdyld.dylib 0x0000000102b45145 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
What's going wrong?
you can not pop a view controller which is not in NavigationController stack.You should pop like this
if you want pop to rootViewController than there is direct method use this
#IBAction func popToRoot(sender:UIBarButtonItem){
self.navigationController.popToRootViewControllerAnimated(false)
}
Another way to go back to a specific view controller would be to use unwind segues:
What are Unwind segues for and how do you use them?