2013-05-21 117 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的最新版本