Вопрос

Я пытался решить это в течение последних двух дней. Невозможно понять, почему мое приложение сбоя.

я использую JASidePanel Библиотека для достижения эффекта панели в моем приложении. Левая боковая панель - это таблица, которая действует как руководство по навигации для центральной панели. В одном сценарии, когда на левой панели (когда это открыт), центральная опция выбирается, центральная панель просто закрывает левую боковую панель и представляет еще один контроллер навигации (с последовательным) контроллером корня. Однако иногда этот переход сбивает мое приложение.

Я заметил, что сбой не происходит в коде JasidePanel или коде контроллера центральной панели ([self presentViewController:self.cityNavigationController animated:YES completion:nil];) Я четко заметил, что приложение сбивается из -за некоторого внутреннего сбоя из -за структуры iOS, я прошел каждую инструкцию по инструкции и выяснил это.

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

Любая помощь ценится.

Журнал устройства:

Thread 0 Crashed:
0   libobjc.A.dylib                 0x3a085b26 objc_msgSend + 6
1   UIKit                           0x3257c788 -[UISearchBar _didMoveFromWindow:toWindow:] + 152
2   UIKit                           0x3249a576 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 662
3   UIKit                           0x3249a576 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 662
4   UIKit                           0x324bb5e2 -[UIScrollView _didMoveFromWindow:toWindow:] + 46
5   UIKit                           0x3249a576 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 662
6   UIKit                           0x3249a576 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 662
7   UIKit                           0x3249a576 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 662
8   UIKit                           0x3249a576 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 662
9   UIKit                           0x32499e68 __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 108
10  Foundation                      0x30688d98 -[NSISEngine withBehaviors:performModifications:] + 208
11  UIKit                           0x32499cf2 -[UIView(Hierarchy) _postMovedFromSuperview:] + 294
12  UIKit                           0x324a6998 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1400
13  UIKit                           0x324a6412 -[UIView(Hierarchy) addSubview:] + 26
14  UIKit                           0x32587d8a -[UITransitionView transition:fromView:toView:removeFromView:] + 974
15  UIKit                           0x32587998 -[UIViewControllerBuiltinTransitionViewAnimator animateTransition:] + 444
16  UIKit                           0x32587406 __101-[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:animation:]_block_invoke_2 + 1250
17  UIKit                           0x3251afb6 _applyBlockToCFArrayCopiedToStack + 314
18  UIKit                           0x324931ee _afterCACommitHandler + 426
19  CoreFoundation                  0x2fcf31ca __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 18
20  CoreFoundation                  0x2fcf0b6c __CFRunLoopDoObservers + 280
21  CoreFoundation                  0x2fcf0eae __CFRunLoopRun + 726
22  CoreFoundation                  0x2fc5bc22 CFRunLoopRunSpecific + 518
23  CoreFoundation                  0x2fc5ba06 CFRunLoopRunInMode + 102
24  GraphicsServices                0x3493a27e GSEventRunModal + 134
25  UIKit                           0x324ff044 UIApplicationMain + 1132
26  Housing India                   0x000a2606 main (main.m:16)
27  libdyld.dylib                   0x3a592ab4 start + 0
Это было полезно?

Решение

Ну, если для кого -то это помогает.

Проблема была в рамках iOS. Проблема заключалась в реализации UinavigationController. Авария происходила внутри самой структуры. Единственным возможным выходом было создание экземпляра контроллера навигации каждый раз, прежде чем представить его. Это снижает производительность, но не имел другого выбора. Apple действительно имеет много ограничений и предположений. :П

Объяснение: Нам нужно было представить контроллер навигации с модальной анимацией. Мы пытались снова и снова избежать экземпляра контроллера навигации, когда -то испытывая его, пытаясь повторно использовать его. Однако из -за этого мы наблюдали аварию когда -нибудь. Не знаю, что означает авария, но исправил его, создавая его снова и снова.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top