2015-08-20 5 views
10

В iOS 8.4, симуляторе и телефоне у меня нет проблем с моим вызовом executeSegue, но при использовании симулятора на Xcode 7 beta 5, когда выполняется вызов executeSegue, он выходит из строя , Стек вызовов ниже.iOS 9 push segue приводит к сбою моего приложения

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM insertObject:atIndex:]: index 3 beyond bounds [0 .. 1]' 
*** First throw call stack: 
(
0 CoreFoundation      0x00000001137509b5 __exceptionPreprocess + 165 
1 libobjc.A.dylib      0x00000001131c8deb objc_exception_throw + 48 
2 CoreFoundation      0x00000001136179d5 -[__NSArrayM insertObject:atIndex:] + 901 
3 Foundation       0x0000000110c42aa1 -[NSKeyValueSlowMutableArray insertObject:atIndex:] + 106 
4 CoreFoundation      0x000000011366beb2 -[NSMutableArray insertObjects:count:atIndex:] + 162 
5 CoreFoundation      0x000000011366bc1f -[NSMutableArray insertObjectsFromArray:range:atIndex:] + 335 
6 CoreFoundation      0x000000011366baa3 -[NSMutableArray addObjectsFromArray:] + 723 
7 UIKit        0x00000001119ef467 -[UIRuntimeOutletCollectionConnection performConnect] + 860 
8 CoreFoundation      0x0000000113691590 -[NSArray makeObjectsPerformSelector:] + 224 
9 UIKit        0x000000011173ccaa -[UINib instantiateWithOwner:options:] + 1864 
10 UIKit        0x0000000111531df4 -[UIViewController _loadViewFromNibNamed:bundle:] + 381 
11 UIKit        0x0000000111532720 -[UIViewController loadView] + 178 
12 UIKit        0x0000000111532a22 -[UIViewController loadViewIfRequired] + 138 
13 UIKit        0x0000000111538e33 -[UIViewController __viewWillAppear:] + 120 
14 UIKit        0x0000000111565cba -[UINavigationController _startCustomTransition:] + 1177 
15 UIKit        0x00000001115752f7 -[UINavigationController _startDeferredTransitionIfNeeded:] + 712 
16 UIKit        0x00000001115761ad -[UINavigationController __viewWillLayoutSubviews] + 57 
17 UIKit        0x00000001117082d1 -[UILayoutContainerView layoutSubviews] + 248 
18 UIKit        0x0000000111459a3b -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 710 
19 QuartzCore       0x00000001110f336a -[CALayer layoutSublayers] + 146 
20 QuartzCore       0x00000001110e7bd0 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 366 
21 QuartzCore       0x00000001110e7a4e _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24 
22 QuartzCore       0x00000001110dc1d5 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 277 
23 QuartzCore       0x00000001111099f0 _ZN2CA11Transaction6commitEv + 508 
24 UIKit        0x00000001113d5eb0 _afterCACommitHandler + 174 
25 CoreFoundation      0x000000011367c457 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 
26 CoreFoundation      0x000000011367c3c7 __CFRunLoopDoObservers + 391 
27 CoreFoundation      0x000000011367201b __CFRunLoopRun + 1147 
28 CoreFoundation      0x0000000113671918 CFRunLoopRunSpecific + 488 
29 GraphicsServices     0x0000000115ee3ad2 GSEventRunModal + 161 
30 UIKit        0x00000001113ac99e UIApplicationMain + 171 
31 MyApp        0x000000010fbfe59f main + 111 
32 libdyld.dylib      0x000000011429c92d start + 1 
33 ???         0x0000000000000001 0x0 + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 

Это не похоже, что это не имеет ничего общего с моим кодом, так как это происходит во время переходного периода и ни один из моих собственных функций в стеке вызовов.

Неужели кто-нибудь испытал это и/или знает, как это решить? Я поставил точки останова в каждой функции моего второго контроллера просмотра, и ни один из них не попал.

+0

Вы нашли решение? – Saty

+0

У меня такая же проблема с окончательным выпуском xCode 7 - iOS 9. – Ali

ответ

2

Я уверен, что это ошибка. В моей ситуации это было указано на TabBarView.

performSegueWithIdentifier("tabSegue",sender: nil) 

Когда он начинает врезаться (это происходит раз в раз без изменений SB) я просто удалить SEGUE из раскадровки и создать его обратно. И это работает.

0

Эта проблема связана с неправильной настройкой с помощью ссылок на сборку Outlet Collections в файле .xib. для моего конкретного проекта это было связано с добавлением одного и того же UIGestureRecognizer в коллекцию gestureRecognizer из нескольких представлений. Это работало до ios 9, но теперь сбой программы с идентичной трассировкой стека. Если вы знаете контроллер вида, который вызывает сбой (и это похоже на то, что вы делаете, потому что вы можете воспроизвести крах), вы должны увидеть ошибку в консоли, сообщающую вам, что происходит. Если нет, я бы рассмотрел каждую сборку реферирования в файле .xib и попытался найти тот, который вызывает ошибку.

0

Это похоже на ошибку в программе, а не на систему. Обратитесь к инспектору соединений, чтобы узнать, нет ли какого-либо неожиданного подключения к розетке или сломанного выходного соединения.

0

Исправление для меня: Я использовал пользовательский segue для push. Когда я сменил пользовательский сегмент с фиксированной версией show segue.

0

Похоже, что это была просто проблема с Xcode. У меня была проблема после установки финальной версии. Я удалил Xcode и переустановил его из App Store и больше не имел проблемы. Спасибо за все предложенные ответы! Раньше у меня определенно был вопрос о плохом segue в Storyboard, но на этот раз это был просто Xcode.