Xamarin - 更新Xcode并重新安装Xamarin后,我遇到了多个NSUnknownKeyException错误。

7
我正在使用Xamarin 4.0.13进行开发,升级到Xcode 4.6.3后,在构建设备或iOS模拟器时会出现错误。更新Xcode后,我必须重新安装Xamarin.iOS,因为Xamarin说未安装iOS。
这些错误与链接单个xib文件有关。错误涉及Main.cs中下面的代码:
UIApplication.Main(args,null,“AppDelegate”);
它指出:
"Objective-C异常抛出。 名称:NSUnknownKeyException原因:[setValue:forUndefinedKey:]:此类不符合键值编码-compliant with the key LoginBtn。”
我查看了以下相同错误日志的链接,但我认为我有一个不同的问题,因为如果我从xib文件中删除LoginBtn,则会更改为抱怨usernameTextInput Outlet等,直到没有任何输出。 将xib文件中的所有内容都删除为空(除了父视图对象)之后,它具有相同的错误日志,但是除了LoginBtn之外,它还抱怨“view”。 我尝试重新应用View对象到File's Owner的链接,但并没有改变什么。
类似的错误日志答案没有解决它:此类不符合键值编码-compliant for the key authView这是什么意思?“'NSUnknownKeyException',reason:…此类不符合键值编码-compliant for the key X” 我已经从Xamarin的构建下拉框中清除了所有内容,甚至不知道如何在删除视图中的所有内容后显示空白页面。
它是一个单页面应用程序,没有其他xib文件,并处于早期阶段。
如果您能提供任何帮助,将不胜感激。
谢谢, Jason。

我遇到了同样的问题。如果我添加了outlets,它在模拟器上可以工作,但在设备上会引发异常。异常与您的相同,NSUnknownKeyException原因:[setValue:forUndefinedKey:]:此类不支持键值编码关键字... - Masahiko Miyasaka
你能上传你的 .m 和 .h 文件以及主要的 .xib 文件吗? - guyh92
2个回答

1
几天前,我遇到了一个类似的问题,当我向UIView添加新插座时。我删除了插座并清理了一切,然后重新连接了插座。最终,一天后我注意到该插座也在Objective-C的dealloc方法中放置了一个释放语句。查看我的其他视图,我注意到没有调用dealloc方法。一旦我将其删除并进行了干净的构建,Xamarin Studio中的错误就消失了。

0
这种情况通常发生在你删除了一个已经作为outlet连接的对象。解决方法是用源代码编辑器打开你的Storyboard,找到出错的属性所对应的outlet(例如LoginBtn),然后删除连接节点。这对我起了作用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接