【发布时间】:2019-09-24 15:22:52
【问题描述】:
我正在尝试在 Xamarin Forms 应用程序中启用“Link All”。它已在 Android 中成功完成。但是对于,它是 iOS 版本,我得到了一个运行时错误。
应用程序刚刚启动并崩溃。
在iOS → Main.cs → UIApplication.Main (args, null, "AppDelegate");
我该如何解决这个问题?
附加崩溃日志。
Foundation.MonoTouchException 已被抛出
Objective-C 抛出异常。名称:NSInternalInconsistencyException 原因:应用程序窗口应该有一个根视图 应用程序启动结束时的控制器本机堆栈跟踪:0
核心基础 0x000000010cf3c1bb exceptionPreprocess + 331 1 libobjc.A.dylib 0x000000010dec2735 objc_exception_throw + 48 2 CoreFoundation
0x000000010cf3bf42 +[NSException raise:format:arguments:] + 98 3
基础 0x000000010c0f5877 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 194 4
UIKitCore 0x00000001162c217a -[UIApplication _runWithMainScene:transitionContext:completion:] + 2978 5 UIKitCore 0x0000000115ae04e9 __111-[__UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene:transition:firstActivation:completion:]_block_invoke + 866 6 UIKitCore 0x0000000115ae929c +[_UICanvas _enqueuePostSettingUpdateTransactionBlock:] + 153 7 UIKitCore 0x0000000115ae0126 -[__UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene:transition:firstActivation:completion:] + 233 8 UIKitCore 0x0000000115ae0ae0 -[__UICanvasLifecycleMonitor_Compatability activateEventsOnly:withContext:completion:] + 1085 9 UIKitCore
0x0000000115adecb5 __82-[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:]_block_invoke + 795 10 UIKitCore 0x0000000115ade95f -[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:] + 435 11 UIKitCore 0x0000000115ae3a90 __125-[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:]_block_invoke + 584 12 UIKitCore 0x0000000115ae480e _performActionsWithDelayForTransitionContext + 100 13 UIKitCore 0x0000000115ae37ef -[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:] + 221 14 UIKitCore 0x0000000115ae893a -[_UICanvas 场景:didUpdateWithDiff:transitionContext:completion:] + 392 15 UIKitCore 0x00000001162c044e -[UIApplication 工作区:didCreateScene:withTransitionContext:completion:] + 515 16 UIKitCore 0x0000000115e64d09 -[UIApplicationSceneClientAgent 场景:didInitializeWithEvent:completion:] + 357 17 FrontBoardServices 0x00000001119552da -[FBSSceneImpl _didCreateWithTransitionContext:completion:] + 448 18 FrontBoardServices 0x0000000111960443 __56-[FBSWorkspace 客户端:handleCreateScene:withCompletion:]_block_invoke_2 + 271 19 前板服务 0x000000011195fb3a __40-[FBSWorkspace _performDelegateCallOut:]_block_invoke + 53 20 libdispatch.dylib 0x000000010f3dc54b _dispatch_client_callout + 8 21 libdispatch.dylib 0x000000010f3df60b _dispatch_block_invoke_direct + 312 22 前板服务 0x0000000111994ba8 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK + 30 23 FrontBoardServices 0x0000000111994860 -[FBSSerialQueue _performNext] + 457 24 FrontBoardServices 0x0000000111994e40 -[FBSSerialQueue _performNextFromRunLoopSource] + 45 25 核心基础 0x000000010cea1721 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17 26 核心基础 0x000000010cea0f93 __CFRunLoopDoSources0 + 243 27 CoreFoundation 0x000000010ce9b63f __CFRunLoopRun + 1263 28 CoreFoundation
0x000000010ce9ae11 CFRunLoopRunSpecific + 625 29 图形服务
0x0000000111bb91dd GSEventRunModal + 62 30 UIKitCore
0x00000001162c381d UIApplicationMain + 140 31 ???
0x000000012cb7629e 0x0 + 5045183134 32 ???
0x000000012cb76033 0x0 + 5045182515
【问题讨论】:
-
您是否从 AppDelegate 分配任何根视图控制器?或者,如果您的 Xamarin Forms 应用程序确实初始化了任何 MainPage?您可以从 AppDelegate 初始化 Empty 视图控制器,然后打开 Xamarin Forms 应用程序吗?除了从 AppDelegate/Xamarin Forms 应用程序打开的当前页面之外,您还能打开任何其他页面吗?这些是您之前可能想要测试的所有可能性。
-
@NirmalSubedi我会尝试所有这些并让你知道
-
尝试从它应该工作的选项中链接使用 SDK 程序集。
标签: android ios xamarin.forms xamarin.ios linker