2016-01-22 49 views
0

我有一個Unity 5.3.1 iOS項目,也使用新的多人網絡UNet。可怕的東西。在構建和運行項目時,我在Xcode中收到以下錯誤:未聲明標識符錯誤Unity IOS到Xcode

Use of undeclared identifier `IL2CPP_RAISE_MANAGED_EXCEPTION` 

該項目在Unity編輯器中運行良好。這是一個巨大的Bulk_Generics_10.cpp 腳本,它處理System.Comparison1<UnityEngine.Networking.NetworkSystem.PeerInfoPlayer

下面是找到該錯誤的代碼塊。

// System.Void 
System.Linq.Enumerable/<CreateDistinctIterator>c__Iterator3`1<System.Object>::Reset() 
extern TypeInfo* 
NotSupportedException_t1382227673_0_il2cpp_TypeInfo_var; extern const 
uint32_t 
U3CCreateDistinctIteratorU3Ec__Iterator3_1_Reset_m_1278777949_0_MetadataUsageId; 
extern "C" void 
U3CCreateDistinctIteratorU3Ec__Iterator3_1_Reset_m_1278777949_0_gshared 
(U3CCreateDistinctIteratorU3Ec__Iterator3_1_t1454147488_0 * __this, 
const MethodInfo* method) { static bool s_Il2CppMethodIntialized; if 
(!s_Il2CppMethodIntialized) {  il2cpp_codegen_initialize_method 
(U3CCreateDistinctIteratorU3Ec__Iterator3_1_Reset_m_1278777949_0_MetadataUsageId); 
     s_Il2CppMethodIntialized = true; } { 
     NotSupportedException_t1382227673_0 * L_0 = 
(NotSupportedException_t1382227673_0 *)il2cpp_codegen_object_new 
(NotSupportedException_t1382227673_0_il2cpp_TypeInfo_var); 
     NotSupportedException__ctor_m149930845_0(L_0, /*hidden 
argument*/NULL);  IL2CPP_RAISE_MANAGED_EXCEPTION(L_0); } } 

看起來Unity並沒有把它交給Xcode。我想知道是否需要在Unity中進行一些調整。

我該如何糾正這個錯誤?

+0

你能解決這個問題嗎?在轉移到Unity 5.3.1p3後開始面臨這個問題。 – Sreejit

+0

我從Unity Web頁面下載了補丁,問題就消失了。找到與您使用的Unity版本相匹配的修補程序。 –

回答

0

這是安裝程序中可選的不同平臺的構建包的一個新問題。如果你安裝了一個平臺,然後升級你的Unity版本,但不要在第二次安裝時安裝該平臺,那麼老版本的平臺將保持原狀並導致問題。

我的解決方案是徹底消滅我的Unity3d文件夾並重新安裝正確的平臺。

相關主題:http://forum.unity3d.com/threads/il2cpp_raise_managed_exception-undeclared-identifier.382377/

+0

謝謝Meursault334!我從Unity頁面重新安裝了最新版本和應用的修補程序。一個或兩個工作。 –

0

至於我記得System.Linq由iOS的支持。

這裏是一個線程也存在對此,

大部分來自LINQ的LINQ的擴展方法集合不與IEnumerables iOS上的工作,因爲它們需要不被支持AOT運行時編譯器。

但是在Asset Store上有一個Linq for iOS庫,它類似於Linq,但不需要運行時編譯器。所以你可以在iOS上使用它。

來源:http://forum.unity3d.com/threads/linq-on-ios.84147/

+0

謝謝哈姆扎哈桑!我沒有自定義或嘗試使用Linq Library,但是如果錯誤像他們出現時那樣神祕地返回,我會使用這個提示! –