调试 Xamarin C# iOS 应用程序时抛出 Objective_C 异常
Posted
技术标签:
【中文标题】调试 Xamarin C# iOS 应用程序时抛出 Objective_C 异常【英文标题】:Objective_C Exception Thrown when debugging Xamarin C# iOS App 【发布时间】:2017-07-21 00:39:00 【问题描述】:当我去构建和调试我的 ios 应用程序时,模拟器运行但我得到一个异常抛出并且模拟器没有打开。我正在使用 Visual Studio for Mac。
错误是:
Objective-C exception thrown.Name: NSInvalidArgumentException Reason:
Could not find a storyboard named 'Main' in bundle NSBundle
</Users/(Username
here)/Library/Developer/CoreSimulator/Devices/23E98CA3-FC40-4AA4-8AAD-
62A9FADE1118/data/Containers/Bundle/Application/715B09C7-FBF2-41E6-
8FCD-A6329DE9E758/(AppName Here).app> (loaded)
Native stack trace:
0 CoreFoundation 0x0000000108f31b0b
__exceptionPreprocess + 171
1 libobjc.A.dylib 0x0000000113b0e141
objc_exception_throw + 48
2 UIKit 0x000000010d005cfb +
[UIStoryboard storyboardWithName:bundle:] + 663
3 UIKit 0x000000010c84590d -
[UIApplication _loadMainStoryboardFileNamed:bundle:] + 72
4 UIKit 0x000000010c845e13 -
[UIApplication _loadMainInterfaceFile] + 260
5 UIKit 0x000000010c8444b6 -
[UIApplication _runWithMainScene:transitionContext:completion:] + 1407
6 UIKit 0x000000010c8417f3 -
[UIApplication workspaceDidEndTransaction:] + 182
7 FrontBoardServices 0x00000001168265f6
__FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 24
8 FrontBoardServices 0x000000011682646d -
[FBSSerialQueue _performNext] + 186
9 FrontBoardServices 0x00000001168267f6 -
[FBSSerialQueue _performNextFromRunLoopSource] + 45
10 CoreFoundation 0x0000000108ed7c01
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
11 CoreFoundation 0x0000000108ebd0cf
__CFRunLoopDoSources0 + 527
12 CoreFoundation 0x0000000108ebc5ff
__CFRunLoopRun + 911
13 CoreFoundation 0x0000000108ebc016
CFRunLoopRunSpecific + 406
14 UIKit 0x000000010c84008f -
[UIApplication _run] + 468
15 UIKit 0x000000010c846134
UIApplicationMain + 159
16 ??? 0x000000012bee336c 0x0 +
5031998316
17 ??? 0x0000000128fc6abd 0x0 +
4982598333
谢谢, Z
编辑:
添加图片。
Info.plist
【问题讨论】:
【参考方案1】:您的项目中似乎找不到 main.storyboard。 检查这个
如果 Main Interface 是 Main ,请检查 main.storyboard 是否存在于您的项目中。 或者您可以将其更改为其他 viewController。
【讨论】:
您好,感谢您提供的信息。我检查了 Main 是我的主界面,我的项目中有一个 main.storyboard,这就是它如此奇怪的原因。我将编辑我的帖子以包含图片。谢谢! 尝试新建一个storyboard并将其设置为主界面,看看问题是否仍然存在 我添加了一个新的故事板并将其设置为 main,现在我得到了同样的错误,但它列出了新板的名称。 :// 如果新项目出现这个错误,可能是安装有问题,重新安装试试。 是的,我创建了新项目并收到此错误。我认为这与 XCode 有关,所以我重新安装了它。我将重新安装 Visual Studio 并报告。谢谢。【参考方案2】:好的,最奇怪的事情解决了它。我安装了从该页面获得的旧版 Xarmarin iOS:https://bugzilla.xamarin.com/show_bug.cgi?id=38206
然后,当我打开 Visual Studio 时,它没有检测到它并让我更新它。更新后,我的应用程序能够调试并且模拟器运行良好!非常非常诡异!
【讨论】:
以上是关于调试 Xamarin C# iOS 应用程序时抛出 Objective_C 异常的主要内容,如果未能解决你的问题,请参考以下文章
C# HttpClient.SendAsync 在测试某些 URL 时抛出“发送请求时发生错误”异常
Blazor Hybrid ElementReferenceJsonConverter 仅在调试时抛出异常
ListView 在 ScrollTo 时抛出 UnhandledException
C# HttpClient 在没有成功状态代码时抛出异常 [关闭]