iOS6 アプリを調べて、iOS7 用にすべてを修正しようとしています。アプリ全体でエラーが発生します:
-[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]
このコードのスタック トレースは次のとおりです。
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
このコードは iOS6 でも完全に機能し、問題はありません。これは、UIButton をクリックしたときに発生します。これは、Card.io をクリックしてユーザーがカード情報を入力できるようにするときにも発生します。iOS7 でアプリをビルドする前に、iOS7 ベータ版で iOS6 アプリを実行する前に、まだこのエラーを受け取りましたが、より多くの場所で発生しました。iOS7用にビルドしたので、いくつかの場所は自分で片付けましたが、これらはまだ残っています. iOS7 に提出する前に残っているのはこれだけです。