2015-07-21 39 views
0

我遇到了問題,試圖上傳一個Unity3d構建以在appstore/Itunes Connect中測試。我使用neatplug插件(FacebookSNS,AppleIAP)。在Xcode 6.3,6.4中使用Unity 5.0,5.1編譯時出現錯誤IL2CPP腳本BK ARM64

當我選擇IL2CPP腳本後端來支持ARM64架構並嘗試上傳進行測試。 它不適用於IPAD Air(碰撞)。並在Iphone是有點缺乏(慢)。

使用Unity 5.1.1p4和5.1.1p3和5.1.2f1,現在我有蘋果的Mach-O鏈接錯誤並非常警告在Xcode 6.3,6.4

非常感謝! 任何幫助可能會受到歡迎

回答

1

是否提供錯誤日誌,這將幫助我們避免您遇到的問題的確切原因。

請確保您遵循以下規則:

默認情況下,將建立通用架構(包括ARM64和ARMv7),如果需要,您可以切換到特定架構的播放器設置。在您的應用程序啓動並運行64位之前應該完成一些操作:

  1. 您需要具有64位功能的設備進行測試。這些都是iOS設備 與A7或更高芯片(目前這些是:iPhone 5S,iPad空氣, iPad迷你視網膜,iPhone 6,iPhone 6加上,iPad迷你3,iPad空氣2)。
  2. 你需要所有的本地插件編譯支持64位支持 (或作爲源代碼提供)。如果您使用的是第三方插件, 您應該聯繫您的插件供應商以獲取64位的能力,並且該插件的IL2CPP兼容版本爲 。
  3. 如果你是插件供應商或只是有自己的本地插件 那麼你需要保持兩件事情記:IL2CPP不是 API兼容(未曝光)與單聲道運行時API,這 意味着如果插件正在使用mono_ *函數將不再鏈接。解決此問題的最佳方式是切換到託管的 委託/回調方式,並將您的託管回調傳遞給插件的本機端 ,並在某些本機 數據或事件到達時從那裏回撥。
  4. 所有作爲預編譯靜態庫(.a文件) 的插件現在應該包含ARM64 slice。當做原生代碼/類型 轉換時請記住,指針和長整數現在是64位寬 並且整數仍然是32寬。

至於我的毫無疑問,你有pluglin相關的問題,他們需要與64位支持編譯詢問你的供應商相同。並確保在xcode中所有必要的框架都已添加(如果需要爲您提及的插件添加),然後再進行構建設備。

+0

謝謝Harschell!就像你說的那樣,錯誤是由插件引起的,neatplug沒有被更新以支持Xcode6.3,6.4中的新的64位體系結構。 –

0

實現測試後,我檢查了neatplug插件是錯誤的原因。 是很好的插件,但沒有這種實現是無法使用的。

我試過詢問供應商,沒有迴應。

我在尋找新的供應商。也許總理31

非常感謝!

+0

是啊素數31所有plungs都是用64位編譯的。 – Harschell