Is crash report related to auto layout mismanagement in iOS - ios

I have a crash report in my iOS app which I am not able to understand root cause. But from stack trace I see there is something wrong happening in my auto layout which I couldn't understand. Can some one help me in finding the cause of the issue?
CoreFoundation 0x342c22a3 __exceptionPreprocess + 163
libobjc.A.dylib 0x3bfa697f objc_exception_throw + 31
CoreFoundation 0x342c1d85 -[NSException name] + 1
Foundation 0x34c7319d -[NSISEngine substituteOutAllOccurencesOfBodyVar:withExpression:] + 425
Foundation 0x34c7356b -[NSISEngine pivotToMakeBodyVar:newHeadOfRowWithHead:] + 299
Foundation 0x34c7412b -[NSISEngine minimizeConstantInObjectiveRowWithHead:] + 203
Foundation 0x34c75fa3 -[NSISEngine tryUsingArtificialVariableToAddConstraintWithMarker:rowBody:usingInfeasibilityHandlingBehavior:mutuallyExclusiveConstraints:] + 243
Foundation 0x34c76de9 -[NSISEngine tryToAddConstraintWithMarker:expression:integralizationAdjustment:mutuallyExclusiveConstraints:] + 501
Foundation 0x34c7fbbf -[NSLayoutConstraint _addToEngine:integralizationAdjustment:mutuallyExclusiveConstraints:] + 395
UIKit 0x365033c1 -[UIView(UIConstraintBasedLayout) _layoutEngine_didAddLayoutConstraint:roundingAdjustment:mutuallyExclusiveConstraints:] + 129
UIKit 0x365044a9 -[UIView(UIConstraintBasedLayout) _constraints_didChangeAutoresizingConstraintsArrayForContainedView:] + 197
UIKit 0x3650475f -[UIView(UIConstraintBasedLayout) _invalidateAutoresizingConstraints] + 79
UIKit 0x36504575 -[UIView(UIConstraintBasedLayout) _constraints_subviewDidChangeSuperview:] + 133
UIKit 0x360cc8b7 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1519
UIKit 0x360e9af7 -[UIScrollView(UIScrollViewInternal) _addContentSubview:atBack:] + 71
UIKit 0x360e993f -[UITableView(_UITableViewPrivate) _addContentSubview:atBack:] + 131
UIKit 0x360fc0a5 -[UITableView(_UITableViewPrivate) _updateVisibleHeadersAndFootersNow:] + 1701
UIKit 0x360fa50b -[UITableView(_UITableViewPrivate) _updateVisibleCellsNow:] + 1815
UIKit 0x361117cf -[UITableView layoutSubviews] + 207
UIKit 0x360cd803 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 259
QuartzCore 0x35e77d8b -[CALayer layoutSublayers] + 215
QuartzCore 0x35e77929 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 461
QuartzCore 0x35e7885d _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 17
QuartzCore 0x35e78243 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 239
QuartzCore 0x35e78051 _ZN2CA11Transaction6commitEv + 317
QuartzCore 0x35e77eb1 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 61
CoreFoundation 0x342976cd __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 21
CoreFoundation 0x342959c1 __CFRunLoopDoObservers + 277
CoreFoundation 0x34295d17 __CFRunLoopRun + 743
CoreFoundation 0x34208ebd CFRunLoopRunSpecific + 357
CoreFoundation 0x34208d49 CFRunLoopRunInMode + 105
GraphicsServices 0x37dd02eb GSEventRunModal + 75
UIKit 0x3611e301 UIApplicationMain + 1121
MyApp 0x00061a57 0x0005f000 + 10839
libdyld.dylib 0x3c3ddb20 start + 0
It says
NSGenericException
*** Collection <__NSSetM: 0x1e514ee0> was mutated while being enumerated.
Thanks

It appears this could be an error in Apple's code. NSISEngine is apparently mutating an NSSet while enumerating it, and you are not directly doing that.
Having said that, though, this could certainly be a bad side-effect of a bug in your code or xib(s) that is expressing itself in a confusing way.
Report the issue to Apple and send them a reproducible test case if possible. Create a new Xcode project, or send them a reduced copy of your current project, and explain how to make this happen.

Suggestion: Make sure you're calling the UIView methods on the main queue.
I met this issue due to this reason.

Related

Presence of UITextField and Pixate Freestyle Crashes on iOS 9

All of my view controllers that contain UITextField objects crash with the following on iOS 9 in the Simulator:
-[UITextField preventStyling]: unrecognized selector sent to instance 0x7fa8b96d6330
Failed to set (styleClass) user defined inspected property on (UITextField): -[UITextField preventStyling]: unrecognized selector sent to instance 0x7fa8b96d6330
Anyone else running into this with Pixate Freestyle? Any ideas? I logged an issue on the GitHub repo, but it doesn't appear anyone is monitoring those: https://github.com/Pixate/pixate-freestyle-ios/issues/186
Below is the full stack trace:
0 CoreFoundation 0x000000010749cf65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000106f14deb objc_exception_throw + 48
2 CoreFoundation 0x00000001074a558d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3 CoreFoundation 0x00000001073f2d97 ___forwarding___ + 487
4 CoreFoundation 0x00000001073f2b28 _CF_forwarding_prep_0 + 120
5 PilotPro 0x000000010438a3c0 -[PXVirtualStyleableControl preventStyling] + 85
6 PilotPro 0x000000010436a0fc +[PXStyleUtils updateStyleForStyleable:] + 83
7 PilotPro 0x00000001043812d8 -[UIView(PXStyling) updateStyles] + 317
8 CoreFoundation 0x000000010738b85c __invoking___ + 140
9 CoreFoundation 0x000000010749df49 -[NSInvocation invokeUsingIMP:] + 217
10 UIKit 0x0000000105d0d773 __workaround10030904InvokeWithTarget_block_invoke + 84
11 UIKit 0x00000001056b5fe1 +[UIView _performSystemAppearanceModifications:] + 66
12 UIKit 0x0000000105d0d70d workaround10030904InvokeWithTarget + 1053
13 UIKit 0x0000000105d07995 applyInvocationsToTarget + 1864
14 UIKit 0x0000000105d06aac +[_UIAppearance _applyInvocationsTo:window:matchingSelector:onlySystemInvocations:] + 1888
15 UIKit 0x00000001056d8a36 __88-[UIView(Internal) _performUpdatesForPossibleChangesOfIdiom:orScreen:traverseHierarchy:]_block_invoke + 64
16 UIKit 0x00000001056d89c0 -[UIView(Internal) _performUpdatesForPossibleChangesOfIdiom:orScreen:traverseHierarchy:] + 189
17 UIKit 0x00000001056d88d6 -[UIView(Internal) _didChangeFromIdiomOnScreen:traverseHierarchy:] + 182
18 UIKit 0x00000001056d7ea3 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 1743
19 UIKit 0x0000000105792b41 -[UIControl _didMoveFromWindow:toWindow:] + 68
20 UIKit 0x00000001056d7b32 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 862
21 UIKit 0x00000001056d7b32 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 862
22 UIKit 0x00000001056ec7d0 -[UIScrollView _didMoveFromWindow:toWindow:] + 85
23 UIKit 0x00000001056d7b32 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 862
24 UIKit 0x00000001056d7b32 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 862
25 UIKit 0x00000001056ec7d0 -[UIScrollView _didMoveFromWindow:toWindow:] + 85
26 UIKit 0x00000001056d7b32 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 862
27 UIKit 0x00000001056d7b32 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 862
28 UIKit 0x00000001056cd106 __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 155
29 UIKit 0x00000001056cd005 -[UIView(Hierarchy) _postMovedFromSuperview:] + 544
30 UIKit 0x00000001056daac3 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1967
31 UIKit 0x0000000105a83212 -[UINavigationTransitionView transition:fromView:toView:] + 672
32 UIKit 0x00000001057fd27d -[UINavigationController _startTransition:fromViewController:toViewController:] + 3262
33 UIKit 0x00000001057fd879 -[UINavigationController _startDeferredTransitionIfNeeded:] + 890
34 UIKit 0x00000001057fe67d -[UINavigationController __viewWillLayoutSubviews] + 57
35 UIKit 0x000000010599663d -[UILayoutContainerView layoutSubviews] + 248
36 PilotPro 0x00000001043a6825 callSuper0 + 55
37 PilotPro 0x000000010438b259 -[PXUIView layoutSubviews] + 47
38 UIKit 0x00000001056de11c -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 710
39 QuartzCore 0x00000001053ab36a -[CALayer layoutSublayers] + 146
40 QuartzCore 0x000000010539fbd0 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 366
41 QuartzCore 0x000000010539fa4e _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24
42 QuartzCore 0x00000001053941d5 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 277
43 QuartzCore 0x00000001053c19f0 _ZN2CA11Transaction6commitEv + 508
44 QuartzCore 0x00000001053c2154 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 92
45 CoreFoundation 0x00000001073c89d7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
46 CoreFoundation 0x00000001073c8947 __CFRunLoopDoObservers + 391
47 CoreFoundation 0x00000001073bdebc CFRunLoopRunSpecific + 524
48 UIKit 0x000000010562898d -[UIApplication _run] + 402
49 UIKit 0x000000010562d676 UIApplicationMain + 171
50 PilotPro 0x000000010417cf84 main + 132
51 libdyld.dylib 0x000000010798892d start + 1
This is a Copy & paste of my solution: https://github.com/Pixate/pixate-freestyle-ios/issues/192
Hi folks,
Like other people, i had several problems with PixateFreestyle framework when i upgraded to Xcode to 7 and Mac OS X El capitan.
After some days researching, i decided to compile my own version of PixateFreestyle framework in order to avoid this problems.
You have my version here: https://www.dropbox.com/s/9cz035h67y9x7fd/PixateFreestyle.framework.zip?dl=0
If you add this framework to your project, when you execute Simulator or create an archive with bitcode enabled all will works like a charm.
If you want to build your own PixateFreestyle framework from source code, follow this steps:
Download the project from github
Fix the callSuper1v issue: #186
Build a universal framework with a custom script
Add bitcode support in build process [optional]
Add resulting framework to your project
Regards.
I have also run into this problem and my solution, far from perfect, is working :D
From this post, I have been able to fix three problems: The preventStyling, playsNicelyWithGestures and _isInteractiveTextSelectionDisabled selector errors. Moreover, I had to add one more function: requiresKeyEvents.
With this, problem solved :D
Thank you :)
While Pixate is no longer supported, a new framework named StylingKit is. StylingKit uses all of Pixate's code in the background so all of your methods should still work and it will not run into any iOS 9 issues.
The exception to this rule is any Pixate static methods like [PixateFreestyle updateStylesForAllViews]. In this case, you can create accessor methods in the StylingKit.m and StylingKit.h files to use the hidden PixateFreestyle functions.
For example if your project relies on updating CSS themes through [PixateFreestyle updateStylesForAllViews], you can create a new method declaration in StylingKit.h like:
#interface StylingKit : NSObject
-(void)PixateUpdateStylesForAllViews;
-(void)OtherHiddenPixateMethod;
Then implement those methods in the StylingKit.m file.
#implementation StylingKit
-(void)PixateUpdate
{
[PixateFreestyle updateStylesForAllViews];
}
-(void)OtherHiddenPixateMethod
{
//Your PixateFreeStyle code here
}
Finally you can call these methods from your project with
[[StylingKit sharedKit] PixateUpdate];
[[StylingKit sharedKit] OtherHiddenPixateMethod];

Understanding the Crash Log

I am an Android Developer and trying some dummy for the iOS development.
I am trying a tutorial for AMSlideMenu and it was working well at a certain point of development.
I followed the complete tutorial and it worked well. After sometime while I was experimenting some other functionality the code breaked.
I undo and reverted back the changes but something still looks wrong.
below is the crash log, but i cant understand what went wrong
*** First throw call stack:
(
0 CoreFoundation 0x000000010bdf93f5 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010b6e9bb7 objc_exception_throw + 45
2 UIKit 0x000000010c7bd43b -[UIViewController shouldPerformSegueWithIdentifier:sender:] + 0
3 Pranshu1 0x000000010b1a0d4f -[AMSlideMenuMainViewController setup] + 1071
4 Pranshu1 0x000000010b19dc63 -[AMSlideMenuMainViewController viewDidLoad] + 419
5 Pranshu1 0x000000010b19d1b6 -[MainViewController viewDidLoad] + 54
6 UIKit 0x000000010c7bb190 -[UIViewController loadViewIfRequired] + 738
7 UIKit 0x000000010c7e95db -[UINavigationController _layoutViewController:] + 44
8 UIKit 0x000000010c7e9b25 -[UINavigationController _updateScrollViewFromViewController:toViewController:] + 216
9 UIKit 0x000000010c7e9c24 -[UINavigationController _startTransition:fromViewController:toViewController:] + 92
10 UIKit 0x000000010c7ea9f7 -[UINavigationController _startDeferredTransitionIfNeeded:] + 523
11 UIKit 0x000000010c7eb4b7 -[UINavigationController __viewWillLayoutSubviews] + 43
12 UIKit 0x000000010c92f399 -[UILayoutContainerView layoutSubviews] + 202
13 UIKit 0x000000010c70f199 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 521
14 QuartzCore 0x000000010c521f98 -[CALayer layoutSublayers] + 150
15 QuartzCore 0x000000010c516bbe _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 380
16 QuartzCore 0x000000010c516a2e _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24
17 QuartzCore 0x000000010c484ade _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 242
18 QuartzCore 0x000000010c485bea _ZN2CA11Transaction6commitEv + 390
19 UIKit 0x000000010c69467d -[UIApplication _reportMainSceneUpdateFinished:] + 44
20 UIKit 0x000000010c695368 -[UIApplication _runWithMainScene:transitionContext:completion:] + 2642
21 UIKit 0x000000010c693d22 -[UIApplication workspaceDidEndTransaction:] + 179
22 FrontBoardServices 0x00000001114912a3 __31-[FBSSerialQueue performAsync:]_block_invoke + 16
23 CoreFoundation 0x000000010bd2eabc __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
24 CoreFoundation 0x000000010bd24805 __CFRunLoopDoBlocks + 341
25 CoreFoundation 0x000000010bd245c5 __CFRunLoopRun + 2389
26 CoreFoundation 0x000000010bd23a06 CFRunLoopRunSpecific + 470
27 UIKit 0x000000010c693799 -[UIApplication _run] + 413
28 UIKit 0x000000010c696550 UIApplicationMain + 1282
29 Pranshu1 0x000000010b1ad003 main + 115
30 libdyld.dylib 0x000000010e822145 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Thanks in Advance
Looking up from the top (0) entry the last of your methods is: Pranshu1 so you need to look there.
The last method is: -[UIViewController shouldPerformSegueWithIdentifier:sender:]
so it looks like you are performing a Segue, check the identifier.
Before that is the method AMSlideMenuMainViewController so it looks like you are probably using the 3rd party code AMSlideMenu, check for correct usage.
Here is how to catch the exceptions at the point of the error:
To see the actual statement that is causing the error add an exception breakpoint:
From the Main Menu Debug:Breakpoints:Create Exception Breakpoint.
Right-click the breakpoint and set the exception to Objective-C.
Add an action: "po $arg1".
Run the app to get the breakpoint and you will be at the line that causes the exception and the error message will be in the debugger console.
Creating the breakpoint example:

iOS uncaught exception adding subview crash

In my iOS app, I am using both Swift and Obj-c with an external library but for some reason I am getting a crash when the library adds a subview.
[view addSubview:self];
The stacktrace is as follows, which is quite hard to track the error as its not near the top(i think).
*** Terminating app due to uncaught exception 'NSRangeException', reason:
'*** -[__NSArrayM objectAtIndex:]: index 4 beyond bounds [0 .. 1]'
*** First throw call stack:
(
0 CoreFoundation 0x000000010913ac65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000108dd3bb7 objc_exception_throw + 45
2 CoreFoundation 0x0000000109024093 -[__NSArrayM objectAtIndex:] + 227
3 UIKit 0x0000000106fa1881 _UIViewTopDownSubtreeTraversal + 193
4 UIKit 0x00000001075c2fa3 -[UIView(UIConstraintBasedLayout_EngineDelegate) _invalidateSystemLayoutSizeFittingSizeAtEngineDelegateLevel] + 141
5 Foundation 0x00000001065e4d6f -[NSISEngine tryToAddConstraintWithMarker:expression:integralizationAdjustment:mutuallyExclusiveConstraints:] + 915
6 Foundation 0x000000010676f1e8 -[NSLayoutConstraint _addLoweredExpression:toEngine:integralizationAdjustment:lastLoweredConstantWasRounded:mutuallyExclusiveConstraints:] + 275
7 Foundation 0x00000001065d949a -[NSLayoutConstraint _addToEngine:integralizationAdjustment:mutuallyExclusiveConstraints:] + 220
8 UIKit 0x00000001075bfa34 __57-[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:]_block_invoke_2 + 474
9 Foundation 0x00000001065e71be -[NSISEngine withBehaviors:performModifications:] + 155
10 UIKit 0x00000001075bf83a __57-[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:]_block_invoke + 452
11 UIKit 0x00000001075bf64d -[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:] + 197
12 UIKit 0x00000001075bf933 __57-[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:]_block_invoke_2 + 217
13 Foundation 0x00000001065e71be -[NSISEngine withBehaviors:performModifications:] + 155
14 UIKit 0x00000001075bf83a __57-[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:]_block_invoke + 452
15 UIKit 0x00000001075bf64d -[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:] + 197
16 UIKit 0x00000001075bf2de -[UIView(AdditionalLayoutSupport) _initializeHostedLayoutEngine] + 404
17 UIKit 0x00000001075b426e -[UIView(UIConstraintBasedLayout) _layoutEngine_windowDidChange] + 126
18 UIKit 0x0000000106fbf561 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 209
19 UIKit 0x0000000106fb7ecf __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 125
20 UIKit 0x0000000106fb7e43 -[UIView(Hierarchy) _postMovedFromSuperview:] + 437
21 UIKit 0x0000000106fc1f48 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1660
22 UIKit 0x0000000106f3765a -[_UIParallaxDimmingView didMoveToWindow] + 123
23 UIKit 0x0000000106fbfa68 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 1496
24 UIKit 0x0000000106fbf74a -[UIView(Internal) _didMoveFromWindow:toWindow:] + 698
25 UIKit 0x0000000106fb7ecf __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 125
26 UIKit 0x0000000106fb7e43 -[UIView(Hierarchy) _postMovedFromSuperview:] + 437
27 UIKit 0x0000000106fc1f48 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1660
28 UIKit 0x0000000106f33f08 __53-[_UINavigationParallaxTransition animateTransition:]_block_invoke + 2101
29 UIKit 0x0000000106fbc68e +[UIView(Animation) performWithoutAnimation:] + 65
30 UIKit 0x0000000106f33342 -[_UINavigationParallaxTransition animateTransition:] + 1225
31 UIKit 0x000000010709abfc -[UINavigationController _startCustomTransition:] + 3038
32 UIKit 0x00000001070a63bf -[UINavigationController _startDeferredTransitionIfNeeded:] + 386
33 UIKit 0x00000001070a6f0e -[UINavigationController __viewWillLayoutSubviews] + 43
34 UIKit 0x00000001071f1715 -[UILayoutContainerView layoutSubviews] + 202
35 UIKit 0x0000000106fc4a2b -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 536
36 QuartzCore 0x00000001087e3ec2 -[CALayer layoutSublayers] + 146
37 QuartzCore 0x00000001087d86d6 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 380
38 QuartzCore 0x00000001087d8546 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24
39 QuartzCore 0x0000000108744886 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 242
40 QuartzCore 0x0000000108745a3a _ZN2CA11Transaction6commitEv + 462
41 QuartzCore 0x00000001087460eb _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 89
42 CoreFoundation 0x000000010906dca7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
43 CoreFoundation 0x000000010906dc00 __CFRunLoopDoObservers + 368
44 CoreFoundation 0x0000000109063a33 __CFRunLoopRun + 1123
45 CoreFoundation 0x0000000109063366 CFRunLoopRunSpecific + 470
46 GraphicsServices 0x000000010b1bfa3e GSEventRunModal + 161
47 UIKit 0x0000000106f44900 UIApplicationMain + 1282
48 HedgeEm 0x0000000104f1cfdf main + 111
49 libdyld.dylib 0x0000000109cff145 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
My first thoughts were to look for anything that was using an array, but in my code there wasnt anything, I think its related to iOS adding the subview but failing.
Further investigation, the same implementation works in ios 7, I know its related to a possible constraint issue - maybe the compile time constraints that get added. I guess this serves me right for using an old library.
I was using the EAIntroView library EAIntroView - GitHub
It turns out that there is a problem with the library and the latest version causes a crash in iOS 8, GitHub - crash discussion So the solution is to downgrade to 2.6 and it works fine.

AdBannerView Causing NSInvalidArguementException

I'm creating an Ad enabled application, and to the most part its been successful to how I wanted it, however recently my application started crashing with an NSInvalidArgumentException error whenever I start the application, after some serious debugging I've found that the cause of the error is when my ADBannerView delegate is linked to my UITableViewController class. I've implemented the ADBannerViewDelegate to my class so I can't understand what the issue with it is. I'm trying to keep my code as private as possible to avoid my idea to be recreated. So for now I'll be posting the crash log. If any other information is needed I'll post the bare minimum of what has been asked for
2014-07-09 16:48:32.268 <APPLICATION NAME>[3491:589625] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]'
*** First throw call stack:
(
0 CoreFoundation 0x00ee5646 __exceptionPreprocess + 182
1 libobjc.A.dylib 0x00b878e3 objc_exception_throw + 44
2 CoreFoundation 0x00ddc513 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 451
3 CoreFoundation 0x00df16bb +[NSDictionary dictionaryWithObjects:forKeys:count:] + 75
4 iAd 0x00688cf5 -[ADBannerView setDelegate:] + 161
5 Foundation 0x0077ace8 _NSSetUsingKeyValueSetter + 115
6 Foundation 0x0077ac6d -[NSObject(NSKeyValueCoding) setValue:forKey:] + 267
7 UIKit 0x0131b034 -[UIView(CALayerDelegate) setValue:forKey:] + 168
8 Foundation 0x007b0166 -[NSObject(NSKeyValueCoding) setValue:forKeyPath:] + 386
9 UIKit 0x015b3589 -[UIRuntimeOutletConnection connect] + 106
10 libobjc.A.dylib 0x00b9a6f4 -[NSObject performSelector:] + 62
11 CoreFoundation 0x00e2041c -[NSArray makeObjectsPerformSelector:] + 316
12 UIKit 0x015b1b8a -[UINib instantiateWithOwner:options:] + 1775
13 UIKit 0x013e074d -[UIViewController _loadViewFromNibNamed:bundle:] + 270
14 UIKit 0x013e0ff4 -[UIViewController loadView] + 295
15 UIKit 0x015d2266 -[UITableViewController loadView] + 77
16 UIKit 0x013e1222 -[UIViewController loadViewIfRequired] + 72
17 UIKit 0x014142bd -[UINavigationController _layoutViewController:] + 42
18 UIKit 0x014147bf -[UINavigationController _updateScrollViewFromViewController:toViewController:] + 235
19 UIKit 0x014148c3 -[UINavigationController _startTransition:fromViewController:toViewController:] + 90
20 UIKit 0x0141583a -[UINavigationController _startDeferredTransitionIfNeeded:] + 669
21 UIKit 0x0141645b -[UINavigationController __viewWillLayoutSubviews] + 57
22 UIKit 0x01580c40 -[UILayoutContainerView layoutSubviews] + 213
23 UIKit 0x0131b3dc -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 601
24 libobjc.A.dylib 0x00b9a741 -[NSObject performSelector:withObject:] + 70
25 QuartzCore 0x005703e9 -[CALayer layoutSublayers] + 152
26 QuartzCore 0x00564245 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 397
27 QuartzCore 0x005640a0 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 26
28 QuartzCore 0x004c3836 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 284
29 QuartzCore 0x004c4bfc _ZN2CA11Transaction6commitEv + 392
30 QuartzCore 0x00589689 +[CATransaction flush] + 52
31 UIKit 0x0129012e -[UIApplication _reportMainSceneUpdateFinished:] + 39
32 UIKit 0x01291023 -[UIApplication _runWithMainScene:transitionContext:completion:] + 3027
33 UIKit 0x012a8eb8 __84-[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:]_block_invoke + 59
34 UIKit 0x0128f77e -[UIApplication workspaceDidEndTransaction:] + 29
35 FrontBoardServices 0x06e43f1f -[FBSWorkspace clientEndTransaction:] + 87
36 FrontBoardServices 0x06e4b4ed __53-[FBSWorkspaceClient _queue_handleTransactionBookEnd]_block_invoke + 49
37 CoreFoundation 0x00e09f90 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 16
38 CoreFoundation 0x00dff133 __CFRunLoopDoBlocks + 195
39 CoreFoundation 0x00dfe898 __CFRunLoopRun + 936
40 CoreFoundation 0x00dfe22b CFRunLoopRunSpecific + 443
41 CoreFoundation 0x00dfe05b CFRunLoopRunInMode + 123
42 UIKit 0x0128f095 -[UIApplication _run] + 571
43 UIKit 0x012926e5 UIApplicationMain + 1526
44 AppIdeas 0x0001a4ed main + 141
45 libdyld.dylib 0x02ca1ac9 start + 1
46 ??? 0x00000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
Also, I'd like to point out that I'm not using an NSPlaceholderDictionary at all in my program, nor am I using the method initWithObjects:forKeys:count:
Hopefully you guys should be able to help with this, thanks for you help
EDIT: I'd Also like to point out that All my other Pages (Part of a UITabBarController) load the ads fine, with the delegate added like the first page, it only happens on the application launch for the first view to come into focus... Is there something I'm missing?

How do I prevent crash from using autolayout in tableview with a lot of data?

Got this crash report while scrolling really fast in a tableview with a lot of data.
NSGenericException Collection <__NSSetM: 0x1688efb0> was mutated while being enumerated.
The tableview uses autolayout in the cells, and by analysing the stack trace I guess that something is wrong with it. Is there a solution to this?
The constraints were added via interface builder and there are no issues with the layout. No warnings or errors in the interface. Maybe the solution would be just to use less data in the tableview, but I want to know if there's a better solution.
CoreFoundation 0x30c46f4b __exceptionPreprocess + 131
libobjc.A.dylib 0x3b0876af objc_exception_throw + 39
CoreFoundation 0x30c46a49 -[NSException name] + 1
Foundation 0x315abb83 -[NSISEngine substituteOutAllOccurencesOfBodyVar:withExpression:] + 439
Foundation 0x315ae80f -[NSISEngine pivotToMakeBodyVar:newHeadOfRowWithHead:andDropRow:] + 339
Foundation 0x315ac595 -[NSISEngine minimizeConstantInObjectiveRowWithHead:] + 237
Foundation 0x315ac0c7 -[NSISEngine optimize] + 175
Foundation 0x315b1ccb -[NSISEngine constraintDidChangeSuchThatMarker:shouldBeReplacedByMarkerPlusDelta:] + 307
Foundation 0x315b1b43 -[NSISEngine tryToChangeConstraintSuchThatMarker:isReplacedByMarkerPlusDelta:undoHandler:] + 423
Foundation 0x315a73f7 -[NSLayoutConstraint _tryToChangeContainerGeometryWithUndoHandler:] + 467
Foundation 0x315a6f95 -[NSLayoutConstraint _setSymbolicConstant:constant:] + 381
UIKit 0x334b2e6b -[UIView(UIConstraintBasedLayout) _autoresizingConstraints_frameDidChange] + 367
UIKit 0x333b6f1f -[UIView(Geometry) setFrame:] + 671
UIKit 0x333d871b -[UIScrollView setFrame:] + 131
UIKit 0x33489a97 -[UITableViewCell setFrame:] + 527
UIKit 0x334ece65 __53-[UITableView _configureCellForDisplay:forIndexPath:]_block_invoke + 617
UIKit 0x333cb6e5 +[UIView(Animation) performWithoutAnimation:] + 73
UIKit 0x334ecbf9 -[UITableView _configureCellForDisplay:forIndexPath:] + 101
UIKit 0x334eba73 -[UITableView _createPreparedCellForGlobalRow:withIndexPath:] + 435
UIKit 0x33493de7 -[UITableView _updateVisibleCellsNow:] + 1655
UIKit 0x33493699 -[UITableView layoutSubviews] + 185
UIKit 0x333b9da3 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 347
QuartzCore 0x33040c6b -[CALayer layoutSublayers] + 143
QuartzCore 0x3303c47b _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 351
QuartzCore 0x3303c30d _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 17
QuartzCore 0x3303bd1f _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 231
QuartzCore 0x3303bb2f _ZN2CA11Transaction6commitEv + 315
QuartzCore 0x33090825 _ZN2CA7Display11DisplayLink14dispatch_itemsEyyy + 517
IOMobileFramebuffer 0x35cbd76d IOMobileFramebufferVsyncNotifyFunc + 105
IOKit 0x31928a75 IODispatchCalloutFromCFMessage + 249
CoreFoundation 0x30c06e21 __CFMachPortPerform + 137
CoreFoundation 0x30c119df __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 35
CoreFoundation 0x30c1197b __CFRunLoopDoSource1 + 347
CoreFoundation 0x30c1014f __CFRunLoopRun + 1399
CoreFoundation 0x30b7ac27 CFRunLoopRunSpecific + 523
CoreFoundation 0x30b7aa0b CFRunLoopRunInMode + 107
GraphicsServices 0x358a1283 GSEventRunModal + 139
UIKit 0x3341e049 UIApplicationMain + 1137
LiveCom 0x000a82c5 main (main.m:16)
libdyld.dylib 0x3b58fab7 start + 3

Resources