iOS Unity 互相調(diào)用

iOS 和 Unity 相互調(diào)用

Unity 調(diào)用 iOS

  1. .cs 文件內(nèi)定義如下函數(shù)
[DllImport ("__Internal")]
private static extern float FooPluginFunction(string name); // 參數(shù)為字符串類(lèi)型,返回值 float 類(lèi)型
  1. .cpp. 或者 .mm 文件內(nèi)實(shí)現(xiàn)如下函數(shù)
extern "C" {
  float FooPluginFunction(const char* name)
  {
      // Unity 端調(diào)用到 iOS 端
        printf("name is = %s", name);
      return 1.0;
  }
}

iOS 調(diào)用 Unity

  1. .cpp.mm 文件內(nèi)凭疮,調(diào)用如下方法
// 第一個(gè)參數(shù): 腳本掛載的 Object 的名稱
// 第二個(gè)參數(shù): 在 CS 文件上定義的方法名稱
// 第三個(gè)參數(shù): 傳遞的參數(shù)(只支持傳遞 string 類(lèi)型的內(nèi)容)
UnitySendMessage("GameObjectName1", "iosToUnity", "Message to send");
  1. .cs 文件內(nèi)實(shí)現(xiàn)饭耳,如下方法
public void iosToUnity(string msg)
{
    // iOS 端調(diào)用到 Unity 端
    Debug.Log("iOS to Unity, msg = ", msg);
}

iOS 中間層寫(xiě)法

  1. 新建 Unity_iOS_Bridge.hUnity_iOS_Bridge.mm 文件, 文件放在 Unity 工程的 Assets/Plugins/iOS/ 文件夾下
  2. Unity_iOS_Bridge.h 文件寫(xiě)法:
#import <Foundation/Foundation.h>
#import "UnityAppController.h"
// 繼承自 UnityAppController
@interface Unity_iOS_Bridge : UnityAppController

@end
  1. Unity_iOS_Bridge.mm 文件寫(xiě)法:
// Unity_iOS_Bridge 添加分類(lèi)
IMPL_APP_CONTROLLER_SUBCLASS(Unity_iOS_Bridge)

@implementation Unity_iOS_Bridge

#pragma mark - 生命周期

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // 先執(zhí)行父類(lèi)的生命周期方法  
    [super application:application didFinishLaunchingWithOptions:launchOptions];
    
    // 執(zhí)行自定義操作
    
    return YES;
}

@end

extern "C" {
  float FooPluginFunction()
  {
      // Unity 端調(diào)用到iOS端
      return 1.0
  }
}

參考

plugins for iOS

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市执解,隨后出現(xiàn)的幾起案子寞肖,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件新蟆,死亡現(xiàn)場(chǎng)離奇詭異觅赊,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)琼稻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)吮螺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人欣簇,你說(shuō)我怎么就攤上這事规脸。” “怎么了熊咽?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵莫鸭,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我横殴,道長(zhǎng)被因,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任衫仑,我火速辦了婚禮梨与,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘文狱。我一直安慰自己粥鞋,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布瞄崇。 她就那樣靜靜地躺著呻粹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪苏研。 梳的紋絲不亂的頭發(fā)上等浊,一...
    開(kāi)封第一講書(shū)人閱讀 49,007評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音摹蘑,去河邊找鬼筹燕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛衅鹿,可吹牛的內(nèi)容都是我干的撒踪。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼大渤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼制妄!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起兼犯,我...
    開(kāi)封第一講書(shū)人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后切黔,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體砸脊,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年纬霞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凌埂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡诗芜,死狀恐怖瞳抓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情伏恐,我是刑警寧澤孩哑,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站翠桦,受9級(jí)特大地震影響横蜒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜销凑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一丛晌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧斗幼,春花似錦澎蛛、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至渠羞,卻和暖如春斤贰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背次询。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工荧恍, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人屯吊。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓送巡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親盒卸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子骗爆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345