12

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 に提出する前に残っているのはこれだけです。

4

1 に答える 1

1

これをバグとして Apple に報告してください: bugreport.apple.com。レイアウト制約の使用法に大きな問題がない限り、それは Apple のコードのバグです。

于 2013-09-28T08:58:23.033 に答える