我已经尝试过MT与模拟器,并决定购买它与加入开发计划。程序似乎可以在模拟器上运行,但在部署到我的(最新型号运行5.1)iPad时会立即崩溃。这是在做任何事之前!例如,如果我创建一个新的ipad“实用程序”解决方案或“单一视图”应用程序,则不会从生成的默认值中更改任何内容并在模拟器上运行它,它会运行。然后我将它部署到设备,它安装但在运行时立即崩溃。
报告的错误是:
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”); “使用”等都存在(这是MT iPad'实用程序'解决方案未经修改)。我在Lion下运行我认为最新的xcode(没有dev预览或任何东西)和monotouch版本。
为什么默认(但功能性)的应用会像这样崩溃?此跟踪信息是否写入文件?我试过的另一个应用程序(示例'摇我'GL绘图应用程序)在设备上正确运行。
我在这里看到另一个问题:Monotouch 4: App crash on launch on iPhone device, works on simulator最终成为monotouch中的一个错误,但我有最新版本。
感谢您的帮助,真的很感激。
标记
答案 0 :(得分:7)
之前我个人见过这个错误的地方是:
在代码中初始化ViewController但从XIB文件初始化ViewController时会发生此错误。
如果您将“主界面”值设置为您在代码中创建的ViewController,则可能会发生这种情况。要解决此问题,请将此值设为空,然后不会自动初始化ViewController。
您可以检查您的pInfo文件以查看是否设置了MainInterface?
如果这是默认项目模板中的错误,请同时提交http://bugzilla.xamarin.com/enter_bug.cgi
报告答案 1 :(得分:0)
如果您没有至少MonoTouch 5.2.4版本并且在代码中写入控制台,则需要更新以解决崩溃问题。
答案 2 :(得分:0)
在我的情况下,问题是当使用Storyboard构建时,我找到了修复它的方法:
右键单击您的项目,在“Build”子标题下选择“Options”,然后选择“iOS Build”,将-f添加到“Additional mtouch arguments”并重建。
这个解决方案不是我的,谢谢Richard Adams,在这里: https://stackoverflow.com/a/17583923/1600491