關于Unity3D與iOS交互

本文主要介紹Unity3D與iOS交互,使用的語言是C#和OC。

主要步驟:

第一部分:Unity3D

1、創建Unity項目,拖2個控件 TestTextTestButton 到場景中。

????(TestText 用于iOS回調的數據展示,TestButton 用于響應Unity3D請求按鈕。)

? ? ?創建一個腳本 ButtonScript.cs,并且綁定 TestButton 控件。

2、在 Assets 目錄下創建子目錄 Plugins,又繼續創建子目錄 iOS。(iOS目錄 主要用于管理后續Unity3D與iOS交互的接口文件夾)

????創建接口文件 IOS_Bridge.cs。 (.cs文件 用于Unity3D請求接口)

? ? 創建 Interaction.h 和 Interaction.mm 文件。(.h和.mm文件 用于iOS接口交互)

3、編輯IOS_Bridge.cs文件接口。

? ??檢查Runtime命名空間。 -->>????using System.Runtime.InteropServices;? ? ?

? ? 定義C語言接口 Bridge_TestAction()。(注:接口前要加上? [DllImport("__Internal")]

? ? 開放交互接口 Bridge_TestAction(),如果 platform 是 IPhonePlayer,則調用上一步定義好的C語言接口。

? ?(對應參數基本以C語言規范格式)

4、添加 TestButton控件 的點擊事件。

? ? 檢查使用UI命名空間。 -->>????using UnityEngine.UI;? ? ??

? ? 添加 TestButton 點擊事件。事件為 OnClickTestButton。

? ? 在 OnClickTestButton 事件中,調用 IOS_Bridge.cs 文件的接口 BridgeTestAction,并傳入對用參數。

? ? 此外,

? ? 定義一個接收接口CallBack(),用于接收 iOS回調事件。

5、導出Xcode項目。

? ? 選擇 File ---- Build Settings ---- iOS平臺 ---- Player Settings ---- 選擇Other Settings。

? ? 在 TargetSDK 中,若要用模擬器運行,則選擇 Simulator SDK,否則選擇 Device SDK。

? ? 最后 Build 到對應文件夾


第二部分:iOS

1、打開Xcode項目。打開Libraries ---- plugins ---- iOS ---- Interaction.h文件。

? ? 根據前面步驟3,我們通過 Dll 導出?Bridge_TestAction() 接口,它是標準C。

2、實現 Bridge_TestAction() 接口,此時在定義的C方法中,可以直接使用OC語言進行編寫。

3、使用 UnitySendMessage() 方法進行 iOS 與 Unity3D 交互。

? ? ? (注:若沒有參數,不可為nil,只能用空引導"")

? ? ? ? ? 備注:

? ? ? ? 【char *data 轉 NSString】

? ? ? ? ??NSString *msg = [NSString stringWithCString:data encoding:NSUTF8StringEncoding];

? ? ? ? 【NSString 轉 char *data】

? ? ? ? ? const char *data = [msg UTF8String];


? ? ? ? 附加Demo

? ??????鏈接: https://pan.baidu.com/s/1fzIm80ORf52JAmeypNio3g 提取碼: 9bcw?

? ? ?【初來乍到,請各位大佬多多指教!!!】

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。