2

我用模拟器简单地尝试过 MT,并决定购买它并加入开发计划。程序似乎在模拟器上运行,但在部署到我的(运行 5.1 的最新型号)iPad 时立即崩溃。这是在做任何事情之前!例如,如果我创建一个新的 ipad 'Utility' 解决方案或'Single view' 应用程序,不更改生成的默认值并在模拟器上运行它,它就会运行。然后我将它部署到设备上,它安装但在运行时立即崩溃。

报告的错误是:

MonoTouch.Foundation.MonoTouchException: Objective-C exception thrown.  Name: NSUnknownKeyException Reason: [<UIApplication 0x658ee0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key view. 
  at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x00042] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:29 
  at Utility.Application.Main (System.String[] args) [0x00000] in /Users/Mark/Projects/Utility/Utility/Main.cs:17 

main.cs 中的第 17 行是: UIApplication.Main (args, null, "AppDelegate"); 'usings' 等都存在(这是未修改的 MT iPad 'Utility' 解决方案)。我正在运行我认为是最新的 xcode(没有开发预览或任何东西)和 Lion 下的 monotouch 版本。

为什么默认(但功能正常)的应用程序会像这样崩溃?此跟踪信息是否写入文件?我尝试过的另一个应用程序(示例“摇我”GL 绘图应用程序)在设备上正确运行。

我在这里看到另一个问题:Monotouch 4:App 在 iPhone 设备上启动时崩溃,在模拟器上工作,最终成为 monotouch 中的一个错误,但我有最新版本。

谢谢你们的帮助,真的很感激。

标记

4

3 回答 3

7

我之前亲自看到此错误的一个地方是:

http://support.xamarin.com/customer/portal/articles/135125-this-class-is-not-key-value-coding-compliant-for-the-key-xxxx

当您在代码中初始化 ViewController 但也从 XIB 文件初始化 ViewController 时,会发生此错误。

如果您将“主界面”值设置为您在代码中创建的 ViewController,则可能会发生这种情况。要解决此问题,请将此值设为空,然后不会自动初始化任何 ViewController。

您可以检查您的 pInfo 文件以查看是否设置了 MainInterface 吗?

如果这是默认项目模板中的错误,请同时在http://bugzilla.xamarin.com/enter_bug.cgi上提交报告

于 2012-05-31T09:58:39.010 回答
0

如果您没有至少 MonoTouch 5.2.4 版本并且您在代码中写入控制台,则需要更新以解决崩溃。

于 2012-05-31T10:18:19.037 回答
0

就我而言,问题是在使用 Storyboard 构建时,我找到了修复它的方法:

右键单击您的项目,在“Build”子标题下选择“Options”,然后选择“iOS Build”,将 -f 添加到“Additional mtouch arguments”并重新构建。

这个解决方案不是我的,多亏了 Richard Adams,在这里: https ://stackoverflow.com/a/17583923/1600491

于 2014-02-03T11:00:10.990 回答