0

An application build with flutter refuses to work on iOS right now but I worked a month ago. The app builds but when opened (simulator & iPhone) it crashes after half a second of white screen.

The error seems to appear on the AppDelegate.swift file. Xcode is showing this message in the

"@obj class AppDelegate: FlutterAppDelegate {" line: Thread 1: Exception: "-[__NSArrayM boolValue]: unrecognized selector sent to instance 0x60000099a430"

import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    if #available(iOS 10.0, *) {
      UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate
    }
    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
    
  }
}

Full xCode stack:

*** First throw call stack:
(
    0   CoreFoundation                      0x00007fff23e3de6e __exceptionPreprocess + 350
    1   libobjc.A.dylib                     0x00007fff512a19b2 objc_exception_throw + 48
    2   CoreFoundation                      0x00007fff23e5eb94 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
    3   CoreFoundation                      0x00007fff23e4286c ___forwarding___ + 1436
    4   CoreFoundation                      0x00007fff23e44b58 _CF_forwarding_prep_0 + 120
    5   Flutter                             0x000000010f99ab9a _ZN7flutter32IsIosEmbeddedViewsPreviewEnabledEv + 130
    6   Flutter                             0x000000010f977839 -[FlutterEngine createShell:libraryURI:] + 829
    7   Flutter                             0x000000010f98b2fd -[FlutterViewController initWithProject:nibName:bundle:] + 287
    8   UIKitCore                           0x00007fff48fc75a7 -[UIClassSwapper initWithCoder:] + 2427
    9   UIFoundation                        0x00007fff487ee274 UINibDecoderDecodeObjectForValue + 743
    10  UIFoundation                        0x00007fff487edf80 -[UINibDecoder decodeObjectForKey:] + 251
    11  UIKitCore                           0x00007fff48fcb83a -[UIRuntimeConnection initWithCoder:] + 125
    12  UIFoundation                        0x00007fff487ee274 UINibDecoderDecodeObjectForValue + 743
    13  UIFoundation                        0x00007fff487ee518 UINibDecoderDecodeObjectForValue + 1419
    14  UIFoundation                        0x00007fff487edf80 -[UINibDecoder decodeObjectForKey:] + 251
    15  UIKitCore                           0x00007fff48fc6675 -[NSCoder(UIIBDependencyInjectionInternal) _decodeObjectsWithSourceSegueTemplate:creator:sender:forKey:] + 450
    16  UIKitCore                           0x00007fff48fc9388 -[UINib instantiateWithOwner:options:] + 1120
    17  UIKitCore                           0x00007fff494eb817 -[UIStoryboard __reallyInstantiateViewControllerWithIdentifier:creator:storyboardSegueTemplate:sender:] + 279
    18  UIKitCore                           0x00007fff494eb6c2 -[UIStoryboard _instantiateViewControllerWithIdentifier:creator:storyboardSegueTemplate:sender:] + 97
    19  UIKitCore                           0x00007fff49371b05 -[UIApplication _loadMainStoryboardFileNamed:bundle:] + 167
    20  UIKitCore                           0x00007fff4937209a -[UIApplication _loadMainInterfaceFile] + 274
    21  UIKitCore                           0x00007fff49370a6b -[UIApplication _runWithMainScene:transitionContext:completion:] + 964
    22  UIKitCore                           0x00007fff48a7912d -[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext:] + 122
    23  UIKitCore                           0x00007fff48f84b61 _UIScenePerformActionsWithLifecycleActionMask + 83
    24  UIKitCore                           0x00007fff48a79c3f __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke + 198
    25  UIKitCore                           0x00007fff48a7964e -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] + 296
    26  UIKitCore                           0x00007fff48a79a6c -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 818
    27  UIKitCore                           0x00007fff48a79301 -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] + 345
    28  UIKitCore                           0x00007fff48a7d8f2 __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke_2 + 178
    29  UIKitCore                           0x00007fff48e9ac4d +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:actions:completion:] + 852
    30  UIKitCore                           0x00007fff48fa32be _UISceneSettingsDiffActionPerformChangesWithTransitionContext + 240
    31  UIKitCore                           0x00007fff48a7d60d __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke + 153
    32  UIKitCore                           0x00007fff48fa31c1 _UISceneSettingsDiffActionPerformActionsWithDelayForTransitionContext + 84
    33  UIKitCore                           0x00007fff48a7d47b -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] + 381
    34  UIKitCore                           0x00007fff488d1e78 __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke + 657
    35  UIKitCore                           0x00007fff488d0a37 -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 253
    36  UIKitCore                           0x00007fff488d1ba2 -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 210
    37  UIKitCore                           0x00007fff4936f0b9 -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 512
    38  UIKitCore                           0x00007fff48ec177c -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 361
    39  FrontBoardServices                  0x00007fff36d03d2e -[FBSSceneImpl _callOutQueue_agent_didCreateWithTransitionContext:completion:] + 419
    40  FrontBoardServices                  0x00007fff36d29dc1 __86-[FBSWorkspaceScenesClient sceneID:createWithParameters:transitionContext:completion:]_block_invoke.154 + 102
    41  FrontBoardServices                  0x00007fff36d0e757 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 220
    42  FrontBoardServices                  0x00007fff36d29a52 __86-[FBSWorkspaceScenesClient sceneID:createWithParameters:transitionContext:completion:]_block_invoke + 355
    43  libdispatch.dylib                   0x00000001123c0e8e _dispatch_client_callout + 8
    44  libdispatch.dylib                   0x00000001123c3da2 _dispatch_block_invoke_direct + 300
    45  FrontBoardServices                  0x00007fff36d4f6e9 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 30
    46  FrontBoardServices                  0x00007fff36d4f3d7 -[FBSSerialQueue _queue_performNextIfPossible] + 441
    47  FrontBoardServices                  0x00007fff36d4f8e6 -[FBSSerialQueue _performNextFromRunLoopSource] + 22
    48  CoreFoundation                      0x00007fff23da1c91 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    49  CoreFoundation                      0x00007fff23da1bbc __CFRunLoopDoSource0 + 76
    50  CoreFoundation                      0x00007fff23da1394 __CFRunLoopDoSources0 + 180
    51  CoreFoundation                      0x00007fff23d9bf8e __CFRunLoopRun + 974
    52  CoreFoundation                      0x00007fff23d9b8a4 CFRunLoopRunSpecific + 404
    53  GraphicsServices                    0x00007fff38c05bbe GSEventRunModal + 139
    54  UIKitCore                           0x00007fff49372964 UIApplicationMain + 1605
    55  Runner                              0x000000010d5c1d1b main + 75
    56  libdyld.dylib                       0x00007fff5211c1fd start + 1
    57  ???                                 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)

Ive tried to clean Xcode (product -> clean build folder), flutter (flutter clean). The mistake was made of not pushing all iOS related files to GitHub. Podfile, Podfile.lock were not pushed. The old app version which was working is now broken when I try to rebuild it with the newer iOS Files.

As I have not a lot of experience with Xcode it is hard for me to understand the error. Thank you for your help!

Edit: The symbolic breakpoint stack:

* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2
  * frame #0: 0x00007fff23e5eb10 CoreFoundation`-[NSObject(NSObject) doesNotRecognizeSelector:]
    frame #1: 0x00007fff23e4286c CoreFoundation`___forwarding___ + 1436
    frame #2: 0x00007fff23e44b58 CoreFoundation`__forwarding_prep_0___ + 120
    frame #3: 0x000000010c41db9a Flutter`flutter::IsIosEmbeddedViewsPreviewEnabled() + 130
    frame #4: 0x000000010c3fa839 Flutter`-[FlutterEngine createShell:libraryURI:] + 829
    frame #5: 0x000000010c40e2fd Flutter`-[FlutterViewController initWithProject:nibName:bundle:] + 287
    frame #6: 0x00007fff48fc75a7 UIKitCore`-[UIClassSwapper initWithCoder:] + 2427
    frame #7: 0x00007fff487ee274 UIFoundation`UINibDecoderDecodeObjectForValue + 743
    frame #8: 0x00007fff487edf80 UIFoundation`-[UINibDecoder decodeObjectForKey:] + 251
    frame #9: 0x00007fff48fcb83a UIKitCore`-[UIRuntimeConnection initWithCoder:] + 125
    frame #10: 0x00007fff487ee274 UIFoundation`UINibDecoderDecodeObjectForValue + 743
    frame #11: 0x00007fff487ee518 UIFoundation`UINibDecoderDecodeObjectForValue + 1419
    frame #12: 0x00007fff487edf80 UIFoundation`-[UINibDecoder decodeObjectForKey:] + 251
    frame #13: 0x00007fff48fc6675 UIKitCore`-[NSCoder(UIIBDependencyInjectionInternal) _decodeObjectsWithSourceSegueTemplate:creator:sender:forKey:] + 450
    frame #14: 0x00007fff48fc9388 UIKitCore`-[UINib instantiateWithOwner:options:] + 1120
    frame #15: 0x00007fff494eb817 UIKitCore`-[UIStoryboard __reallyInstantiateViewControllerWithIdentifier:creator:storyboardSegueTemplate:sender:] + 279
    frame #16: 0x00007fff494eb6c2 UIKitCore`-[UIStoryboard _instantiateViewControllerWithIdentifier:creator:storyboardSegueTemplate:sender:] + 97
    frame #17: 0x00007fff49371b05 UIKitCore`-[UIApplication _loadMainStoryboardFileNamed:bundle:] + 167
    frame #18: 0x00007fff4937209a UIKitCore`-[UIApplication _loadMainInterfaceFile] + 274
    frame #19: 0x00007fff49370a6b UIKitCore`-[UIApplication _runWithMainScene:transitionContext:completion:] + 964
    frame #20: 0x00007fff48a7912d UIKitCore`-[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext:] + 122
    frame #21: 0x00007fff48f84b61 UIKitCore`_UIScenePerformActionsWithLifecycleActionMask + 83
    frame #22: 0x00007fff48a79c3f UIKitCore`__101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke + 198
    frame #23: 0x00007fff48a7964e UIKitCore`-[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] + 296
    frame #24: 0x00007fff48a79a6c UIKitCore`-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 818
    frame #25: 0x00007fff48a79301 UIKitCore`-[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] + 345
    frame #26: 0x00007fff48a7d8f2 UIKitCore`__186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke_2 + 178
    frame #27: 0x00007fff48e9ac4d UIKitCore`+[BSAnimationSettings(UIKit) tryAnimatingWithSettings:actions:completion:] + 852
    frame #28: 0x00007fff48fa32be UIKitCore`_UISceneSettingsDiffActionPerformChangesWithTransitionContext + 240
    frame #29: 0x00007fff48a7d60d UIKitCore`__186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke + 153
    frame #30: 0x00007fff48fa31c1 UIKitCore`_UISceneSettingsDiffActionPerformActionsWithDelayForTransitionContext + 84
    frame #31: 0x00007fff48a7d47b UIKitCore`-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] + 381
    frame #32: 0x00007fff488d1e78 UIKitCore`__64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke + 657
    frame #33: 0x00007fff488d0a37 UIKitCore`-[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 253
    frame #34: 0x00007fff488d1ba2 UIKitCore`-[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 210
    frame #35: 0x00007fff4936f0b9 UIKitCore`-[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 512
    frame #36: 0x00007fff48ec177c UIKitCore`-[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 361
    frame #37: 0x00007fff36d03d2e FrontBoardServices`-[FBSSceneImpl _callOutQueue_agent_didCreateWithTransitionContext:completion:] + 419
    frame #38: 0x00007fff36d29dc1 FrontBoardServices`__86-[FBSWorkspaceScenesClient sceneID:createWithParameters:transitionContext:completion:]_block_invoke.154 + 102
    frame #39: 0x00007fff36d0e757 FrontBoardServices`-[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 220
    frame #40: 0x00007fff36d29a52 FrontBoardServices`__86-[FBSWorkspaceScenesClient sceneID:createWithParameters:transitionContext:completion:]_block_invoke + 355
    frame #41: 0x0000000110d28e8e libdispatch.dylib`_dispatch_client_callout + 8
    frame #42: 0x0000000110d2bda2 libdispatch.dylib`_dispatch_block_invoke_direct + 300
    frame #43: 0x00007fff36d4f6e9 FrontBoardServices`__FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 30
    frame #44: 0x00007fff36d4f3d7 FrontBoardServices`-[FBSSerialQueue _queue_performNextIfPossible] + 441
    frame #45: 0x00007fff36d4f8e6 FrontBoardServices`-[FBSSerialQueue _performNextFromRunLoopSource] + 22
    frame #46: 0x00007fff23da1c91 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #47: 0x00007fff23da1bbc CoreFoundation`__CFRunLoopDoSource0 + 76
    frame #48: 0x00007fff23da1394 CoreFoundation`__CFRunLoopDoSources0 + 180
    frame #49: 0x00007fff23d9bf8e CoreFoundation`__CFRunLoopRun + 974
    frame #50: 0x00007fff23d9b8a4 CoreFoundation`CFRunLoopRunSpecific + 404
    frame #51: 0x00007fff38c05bbe GraphicsServices`GSEventRunModal + 139
    frame #52: 0x00007fff49372964 UIKitCore`UIApplicationMain + 1605
    frame #53: 0x000000010a06a00b Runner`main at AppDelegate.swift:5:13
    frame #54: 0x00007fff5211c1fd libdyld.dylib`start + 1   

To me it seems like IsIosEmbeddedViewsPreviewEnabled() breaks the build. Any idea how to continue from here?

  • It's because of when this error occurred on that place you get mutablearray and you convert it into boolean value. boolValue is not function of mutablearray class. – Vishal Patel Sep 24 '20 at 09:34
  • This file was not created by me so I have no idea how to fix it. Thank you for your response! – Miro Liebschner Sep 24 '20 at 09:56
  • Set a symbolic breakpoint for `unrecognizedSelector` and check the call stack: https://stackoverflow.com/questions/7156090/creating-breakpoint-in-xcode-for-unrecognized-selector – Andreas Oetjen Sep 24 '20 at 10:11
  • @AndreasOetjen Edited the main question to include the stack. I am unable to find new information inside that stack. – Miro Liebschner Sep 24 '20 at 12:16
  • That's not the stack, that's the disassembly. You need to check the call stack. – Andreas Oetjen Sep 24 '20 at 12:51

1 Answers1

0

App is working on iOS again. What helped was:

flutter create myProjectPath 

Files that were recreated / repaired:
iOS/Podfile ios/Podfile.lock ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings ios/Runner/Info.plist

Hope this might help someone in the future.