Сбой приложения на ios11 и Xcode 9: при добавлении [self addChildViewController:] - PullRequest
0 голосов
/ 21 мая 2018

При добавлении дочернего viewcontroller я получаю следующий сбой, здесь NavigationViewController расширен от UIViewController.

Эта ошибка появляется, когда я upgraded на Xcode 9, успешно работающий на более ранних версиях Xcode.

Я сослался на Ссылка , но не получил никакого удовлетворенного ответаПожалуйста, помогите мне,

Спасибо заранее.:)

Блок кода:

 _mainSectionsController = [[[MainSectionsController alloc] initWithNibName:nil bundle:nil] autorelease];
[self addChildViewController:_mainSectionsController];   

**Init method of _mainSectionsController** .

 -(id)initWithNibName:(NSString*)nibNameOrNil bundle:(NSBundle*)nibBundleOrNil
 {
  self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
  if (!self) return nil;
  self.edgesForExtendedLayout = UIRectEdgeAll;
  self.viewControllers = @
  [
   [[[NavigationViewController alloc] initWithNibName:nil bundle:nil]
    autorelease]
  ];
  return self;
 } 

**init method of NavigationViewController**

 -(id)initWithNibName:(NSString*)nibNameOrNil bundle: (NSBundle*)nibBundleOrNil
    {
     self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
     if (!self) return nil;
     self.edgesForExtendedLayout = UIRectEdgeAll;

    _navController = [[[UINavigationController alloc] initWithNibName:nil bundle:nil] autorelease];
    _navController.get().delegate = self;
    _navController.get().navigationBarHidden = YES;
    _navController.get().view.clipsToBounds = YES;
    _navController.get().view.backgroundColor = [UIColor clearColor]; 
    return self;
 }

2018-05-22 10: 46: 23.112290 + 0530 [912: 19925] -[NavigationViewController _viewControllerSubtreeDidGainViewController:]: нераспознанный селектор, отправленный экземпляру 0x7f91ba83c000 2018-05-22 10: 46: 24.939903 + 0530 [912: 19925] * Завершение работы приложения из-за неисследованного представленияView:]: нераспознанный селектор отправлен в экземпляр 0x7f91ba83c000 '* Первый стек вызовов выброса:
(0 CoreFoundation 0x000000010f03f12b исключениеPreprocess + 171. 1 libobjc.A.dylib 0x000000010e640f41 objc_exb0 0 0 000 0 0 000 0 0 0 0 0 000 0 000 0 000 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 00 0NSObject) doesNotRecognizeSelector:] + 132 3 UIKit 0x000000010b2cdf51 - [UIResponder doesNotRecognizeSelector:] + 295 4 CoreFoundation 0x000000010efc1f78 ___ forwarding_ + 1432 5 CoreFoundation 0010000000000000000- [UIViewController _addChildViewController: performHierarchyCheck: notifyWillMove:] + 696 7 UIKit 0x000000010b26930e - [UIViewController (UIContainerViewControllerProtectedMethods) addChildViewController:] + 83 8 0x00000001058eeac3 - [MainViewController initWithNibName: расслоение:] + 5235 9 0x00000001059876ca - [AppDelegate loadMainViewController] + 122 10 0x0000000105984561 -[AppDelegate применения: didFinishLaunchingWithOptions:] + 1137 11 UIKit 0x000000010b091bca - [UIApplication _handleDelegateCallbacksWithOptions: isSuspended: restoreState:] + 299 12 UIKit 0x000000010b093648 - [UIApplication _callInitializationDelegatesForMainScene: transitionContext:] + 4113 13 UIKit 0x000000010b098aeb - [UIApplication _runWithMainScene: transitionContext: завершение:]+ 1720 14 UIKit 0x000000010b4626f8 111 - [__ UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene: переход: первыйАктивация: завершение:] _ block_invoke + 924 15 UIKit 0x000000010b8384Сохранить _Выступать +ionBlock:] + 153 16 UIKit 0x000000010b4622f1 - [__ UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene: переход: firstActivation: завершение:] + 249 17 UIKit 0x000000010b462b6b - [__ UICanvasLifecycleMonitor_Compatability activateEventsOnly: withContext: завершение:] + 696 18 UIKit 0x000000010bde0a69 __82 - [_ UIApplicationCanvas _transitionLifecycleStateWithTransitionContext: завершение:] _ block_invoke+ 262 19 UIKit 0x000000010bde0922 - [_ _ UIApplicationCanvas _transitionLifecycleStateWithTransitionContext: завершение:] + 444 20 UIKit 0x000000010babd9c8 __125 - [_ UICanvasLifecycleSettingsDiffAction выполняет: объект_объект21 UIKit 0x000000010bcbcb06 _performActionsWithDelayForTransitionContext + 100 22 UIKit 0x000000010babd88b - [_ UICanvasLifecycleSettingsDiffAction performActionsForCanvas: withUpdatedScene: settingsDiff: fromSettings: transitionContext:] + 231 23 UIKit 0x000000010b837b25 - [_ UICanvas сцена: didUpdateWithDiff: transitionContext: завершение:] + 392 24 UIKit 0x000000010b09736a - [UIApplication рабочее пространство:didCreateScene: withTransitionContext: завершение:] + 523 25 UIKit 0x000000010b672605 - [UIApplicationSceneClientAgent сцена: didInitializeWithEvent: завершение:] + 369 26 FrontBoardServices 0x0000000116cb8cc0 - [FBSSceneImpl _didCreateWithTransitionContext: завершение:] + 338 27 FrontBoardServices 0x0000000116cc17b5 __56- [FBSWorkspace клиент: handleCreateScene: withCompletion:] _block_invoke_2 + 235 28 libdispatch.dylib 0x000000010f87b33d _dispatch_client_callout + 8 29 libdispatch.dylib 0x000000010f8809f3 _dispatch_block_invoke_direct + 592 30B 0 0B 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 5 0 0 5 0 0 5 0 0 5 0 0 5 0 0 5 0 0 5 0 0 5 0 0 5 0 0 5 5B 0 насG_OUT_TO_A_BLOCK + 24 31 FrontBoardServices 0x0000000116ced14e - [FBSSerialQueue _performNext] + 464 32 FrontBoardServices 0x0000000116ced6bd - [FBSSerialQueue _performNextFromRunLoopSource] + 45 33 CoreFoundation 0x000000010efe2101 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17 34 CoreFoundation 0x000000010f081f71 __CFRunLoopDoSource0 + 81 35 CoreFoundation 0x000000010efc6a19 __CFRunLoopDoSources0 + 18536 CoreFoundation 0x000000010efc5fff __CFRunLoopRun + 1 279 37 CoreFoundation 0x000000010efc5889 CFRunLoopRunSpecific + 409 38 GraphicsServices 0x000000010fed99c6 GSEventRunModal + 62 39 UIKit 0x000000010b09a5d6 UIApplicationMain + 159 40 0x000000010590c331 основной + 65 41 libdyld.dylib 0x000000010f8f7d81 старт + 1) Libc ++ abi.dylib: завершение с неперехваченного исключениемтип NSException

1 Ответ

0 голосов
/ 22 мая 2018

Поскольку у вас autorelease в вашем коде MainSectionsController, я предполагаю, что вы не используете ARC там.Я настоятельно рекомендую обновить код MainSectionsController и NavigationViewController до ARC.Это предотвращает случайные перевыпуски, которые могут вызвать проблемы, подобные этой.

Кроме того, я бы порекомендовал перенести присваивание self.viewControllers из конструктора в viewDidLoad, если это возможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...