2013-05-21 101 views
2

在将更新发送到App Store后,应用程序在从App Store下载时崩溃,但通过Xamarin Studio进行调试时效果不错。应用程序开始崩溃

但现在想释放我的设备/调试它开始崩溃给这个错误时:

2013-05-21 10:20:30.933 nytLectio[10969:c07] Could not register the assembly 'MBProgressHUD': MonoTouch.MonoTouchException: Cannot register two managed types ('MBProgressHUD.MTMBProgressHUD' and 'AlexTouch.MBProgressHUD.MBProgressHUD') with the same native name ('MBProgressHUD'). 
    at MonoTouch.Registrar.Registrar.RegisterType (System.Type type, System.Collections.Generic.List`1 exceptions) [0x00000] in <filename unknown>:0 
    at MonoTouch.Registrar.Registrar.RegisterAssembly (System.Reflection.Assembly assembly) [0x00000] in <filename unknown>:0 

我认为是什么导致崩溃,但我不知道如何解决它,和它让我感到困惑,因为它可以在模拟器中调试并发布,但不能在我的设备上使用。

回答

5

你好,你正在使用2个库结合MBProgressHUDMBProgressHUD.MTMBProgressHUDAlexTouch.MBProgressHUD.MBProgressHUD请只使用一个,我会建议使用在Xamarin Components Store这的MBProgressHUD一个较新的版本之一,你可以安全地替换正在使用当前的。

Btw im作者AlexTouch.MBProgressHUD.MBProgressHUD C#绑定,我可以告诉你它最近没有更新,所以我鼓励你使用Components Store上的那个。荣誉Jonathan George为他惊人的图书馆。

希望这有助于

亚历

+0

我实际使用,因为我跑的测试版,现在从组件商店之一,AlexTouch约束力,没有工作一。 无论如何感谢C#绑定! :) –

+0

是啊,只是不要同时使用这两个库:) – dalexsoto

0

您是否尝试过更改错误隐藏的类AlexTouch.MBProgressHUD.MBProgressHUD的名称?

1

除了@dalexsoto建议(只使用一个版本的库),你需要找出为什么这对你的作品。

But now when trying to release/debug on my device it starts crashing giving this error:

最好的猜测是您在原来的调试/测试你的应用程序提交给AppStore的更新之间的Xamarin.iOS的版本。

这就是为什么你现在在Debug/Release设备上有相同的问题。较新版本报告错误情况,其中两个不同的类型使用相同名称注册(由于我们无法预测注册顺序,因此最终的行为未定义)。

如果这还是在本地的Mac(在调试/发布版本)工作,然后我秒最好的猜测将是对调试(和/或发布)你的编译选项有不同于选项您的AppStore配置。这意味着你可能会而不是正在测试你送货给你的客户。在这种情况下,您应该检查您的选项,参数(以及是否需要构建日志),以确保它们仅以正常(预期)方式(例如,创建调试符号或不符合)的方式不同(例如调试构建) 。

+0

我确实更新到测试版本,因为我想使用Parse。 但是我会尝试降级到稳定版本,并告诉你它是否发生了变化 –

+0

最新版本的Xamarin.iOS(包括beta版和下一个尚未发布的稳定版)包含更新的注册器,可检测更多问题(包括重复)比以前的一个。 – poupou

0

问题解决了..

系因Xamarin的最新版本