-->

iOS7 crashing - [__NSPlaceholderDictionary initWit

2020-08-12 16:00发布

问题:

Going through my iOS6 app and trying to fix everything for iOS7. Throughout my app I'm getting the error:

-[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]

Here is the stack trace from this code:

NSString *shareString = [NSString stringWithFormat:@"I ... %@", self.booking.venue.name];
NSArray *activityItems = [NSArray arrayWithObjects:shareString, nil];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc]     initWithActivityItems:activityItems applicationActivities:nil];
[self presentViewController:activityViewController animated:YES completion:nil];

*** 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                      0x03bc45e4 __exceptionPreprocess + 180
1   libobjc.A.dylib                     0x032d38b6 objc_exception_throw + 44
2   CoreFoundation                      0x03b8a536 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 390
3   CoreFoundation                      0x03bb8029 +[NSDictionary dictionaryWithObjects:forKeys:count:] + 73
4   UIKit                               0x0141eea4 -[UIButton _intrinsicSizeWithinSize:] + 1255
5   UIKit                               0x017ee81d -[UIView(UIConstraintBasedLayout) intrinsicContentSize] + 51
6   UIKit                               0x017eeebf -[UIView(UIConstraintBasedLayout) _generateContentSizeConstraints] + 36
7   UIKit                               0x017eeb50 -[UIView(UIConstraintBasedLayout) _updateContentSizeConstraints] + 511
8   UIKit                               0x017f4e8f -[UIView(AdditionalLayoutSupport) updateConstraints] + 110
9   UIKit                               0x0141dab7 -[UIButton updateConstraints] + 54
10  UIKit                               0x017f4728 -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPass:] + 239
11  UIKit                               0x017f48a6 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPass:] + 122
12  UIKit                               0x017f4827 __UIViewRecursionHelper + 40
13  CoreFoundation                      0x03b65dc9 CFArrayApplyFunction + 57
14  UIKit                               0x017f46cc -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPass:] + 147
15  UIKit                               0x017f48a6 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPass:] + 122
16  UIKit                               0x017f4827 __UIViewRecursionHelper + 40
17  CoreFoundation                      0x03b65dc9 CFArrayApplyFunction + 57
18  UIKit                               0x017f46cc -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPass:] + 147
19  UIKit                               0x017f48a6 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPass:] + 122
20  UIKit                               0x017f4827 __UIViewRecursionHelper + 40
21  CoreFoundation                      0x03b65dc9 CFArrayApplyFunction + 57
22  UIKit                               0x017f46cc -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPass:] + 147
23  UIKit                               0x017f48a6 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPass:] + 122
24  UIKit                               0x017f4827 __UIViewRecursionHelper + 40
25  CoreFoundation                      0x03b65dc9 CFArrayApplyFunction + 57
26  UIKit                               0x017f46cc -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPass:] + 147
27  UIKit                               0x017f48a6 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPass:] + 122
28  UIKit                               0x017e8f48 __62-[UIWindow(UIConstraintBasedLayout) updateConstraintsIfNeeded]_block_invoke + 43
29  Foundation                          0x02e7a3ec -[NSISEngine withBehaviors:performModifications:] + 107
30  Foundation                          0x02d0a145 -[NSISEngine withAutomaticOptimizationDisabled:] + 48
31  UIKit                               0x017e8c60 -[UIWindow(UIConstraintBasedLayout) updateConstraintsIfNeeded] + 225
32  UIKit                               0x017f4f06 -[UIView(AdditionalLayoutSupport) _updateConstraintsAtWindowLevelIfNeeded] + 85
33  UIKit                               0x011ed6ef -[UIView(Hierarchy) layoutBelowIfNeeded] + 348
34  UIKit                               0x018a3def -[_UIBackdropContentView backdropView:recursivelyUpdateMaskViewsForView:] + 56
35  UIKit                               0x018a4240 -[_UIBackdropContentView didMoveToWindow] + 273
36  UIKit                               0x011f5be7 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 1689
37  UIKit                               0x011f5847 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 761
38  UIKit                               0x011f5847 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 761
39  UIKit                               0x011f5847 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 761
40  UIKit                               0x011f5847 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 761
41  UIKit                               0x011ed070 __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 162
42  UIKit                               0x011ecef8 -[UIView(Hierarchy) _postMovedFromSuperview:] + 260
43  UIKit                               0x011f8031 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1847
44  UIKit                               0x011eb521 -[UIView(Hierarchy) addSubview:] + 56
45  UIKit                               0x012861f8 -[UITransitionView transition:fromView:toView:removeFromView:] + 1205
46  UIKit                               0x018add65 -[UIViewControllerBuiltinTransitionViewAnimator animateTransition:] + 463
47  UIKit                               0x0153a37d __101-[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:animation:]_block_invoke_2 + 1577
48  UIKit                               0x011acd33 ___afterCACommitHandler_block_invoke + 15
49  UIKit                               0x011accde _applyBlockToCFArrayCopiedToStack + 403
50  UIKit                               0x011acb0a _afterCACommitHandler + 532
51  CoreFoundation                      0x03b8c53e __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 30
52  CoreFoundation                      0x03b8c48f __CFRunLoopDoObservers + 399
53  CoreFoundation                      0x03b6a3b4 __CFRunLoopRun + 1076
54  CoreFoundation                      0x03b69b33 CFRunLoopRunSpecific + 467
55  CoreFoundation                      0x03b6994b CFRunLoopRunInMode + 123
56  GraphicsServices                    0x04fbb9d7 GSEventRunModal + 192
57  GraphicsServices                    0x04fbb7fe GSEventRun + 104
58  UIKit                               0x0119094b UIApplicationMain + 1225
59  BottlesTonight                      0x000030ad main + 141
60  libdyld.dylib                       0x037b8725 start + 0
)


libc++abi.dylib: terminating with uncaught exception of type NSException

This code still works perfectly on iOS6, and I don't see anything wrong with it. It occurs when clicking a UIButton, this also occurs when clicking Card.io to allow users to enter card information. Prior to building my app on iOS7 but running the iOS6 app on iOS7 betas I still recieved this error but in more places. Now that I built it for iOS7 a few of the places cleared up themselves but these ones still remain. Any help would be greatly appreciated, this is all that remains prior to submitting for iOS7.

回答1:

Report this as a bug to Apple: bugreport.apple.com. Unless there's something very wrong with your usage of layout constraints, it's a bug in Apple's code.



标签: ios crash ios7