UNITY3D與iOS互動解決方案

來源:互聯網
上載者:User

標籤:android   style   class   code   tar   width   

原地址:http://bbs.18183.com/thread-456979-1-1.html

本帖最後由 啊,將進酒 於 2014-2-27 11:17 編輯

“授人以魚,不如授人以漁”,以UNITY3D調用iOS版的91SDK為例,利用C# / C / OBJ-C 互動原理,本文將詳細介紹UNITY3D與iOS之間互動的解決方案。  首先,開啟XCODE建立一個空項目,參照91SDK開發文檔將91SDK引入並進行環境配置。配置完畢後建立一個名為“LsSdkConector”的OBJ-C CLASS檔案。完畢後,當前項目應<ignore_js_op>  LsSdkConector.h檔案我們不用去改動它。保持原樣即可。<ignore_js_op> 接下來我們開始在LsSdkConector.m 檔案中製作C介面 和 調用91SDK的iOS方法。引入必要的標頭檔後,我把該檔案的代碼分為3個地區。 代碼A地區用來定義C介面必須要實現的API。<ignore_js_op>  代碼B地區用來實現A地區代碼的介面,以及要調用91SDK的iOS方法,直白點說,代碼B地區寫的方法就是用來調用代碼C地區的方法。<ignore_js_op>  代碼C地區用來實現真正的91SDK的OBJ-C方法。<ignore_js_op>  大家在自己的項目中:代碼A地區作為可直接複製套用;代碼B地區可編寫工具方法和調用iOS的方法;代碼C地區編寫91SDK的iOS方法,你需要什麼API就寫什麼,寫完了在代碼B地區添加C的調用方法即可。  在編寫代碼中,有的人可能會問OBJ-C中有的API有回調,UNITY是如何知道OBJ-C回調結束呢?答:OBJ-C調用UNITY的API,可以用“UnitySendMessage”的方法 ,具體使用方法 看UINTY的使用協助。  這樣我們完成了C介面和91SDK的API代碼,接下來我們做UINITY3D方面的代碼處理。 我們在UNITY3D項目的ASSETS下建立Code檔案夾與Plugins檔案夾。<ignore_js_op>   將LsSdkConector.h 和 LsSdkConector.m 複製到 Plugins 檔案夾中,並在 Code檔案夾中編寫我們的UNITY調用OBJ-C 方法。建立C#檔案“LsSdkConector.cs”,這個檔案中,我們將代碼分為A、B兩區。  代碼A區編寫C語言的介面,這裡的介面方法要對應”LsSdkConector.m”中代碼地區B的方法名稱。<ignore_js_op>  代碼B區編寫UNITY3D調用OBJ-C的方法,這裡的代碼注意用來實現UNITY3D之間的方法調用,C#的方法內調用C的方法。<ignore_js_op>   這樣,UNITY3D接入91SDK-iOS版的解決方案到此完成。<ignore_js_op>   下面,我們測試一下這個解決方案是否管用。 在Code檔案夾中建立 “LisiTest.cs”檔案,編輯如下代碼:<ignore_js_op>  並將該C#檔案拖至Main Camera 綁定。 UNITY3D轉iOS項目必須要設定BundleIdentifier,:<ignore_js_op> 點擊“Build”按鈕建立iOS項目,開啟該iOS項目,將LsSdkConector.h 和 LsSdkConector.m拖入iOS項目的Classes檔案夾中<ignore_js_op>  按照91SDK文檔中環境配置章節,對SDK進行引用,添加系統庫,做環境配置。 打包到iOS裝置前,檢查一下iOS項目的配置,注意OBJC要寫在第1列,還有要注意大小寫。<ignore_js_op> <ignore_js_op>  選擇使用iOS裝置打包,你會發現UNITY3D調用iOS 成功了!!  本文要告訴大家的是Unity3D與iOS互動的解決方案,代碼規範問題不是本文重點,比如91SDK的初始化在SDK文檔上推薦是在AppDelegate的檔案中進行初始化。  附件: <ignore_js_op> 文中提及檔案.zip (2.25 KB, 下載次數: 401)



   Unity3D與Android之間的互動可以參考我的另一篇文章:《實操UNITY3D接入91SDK安卓版》

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.