找回密码
 立即注册
查看: 394|回复: 0

iOS Unity 交互(系列一)Unity调用iOS函数 Unity给iOS传值

[复制链接]
发表于 2022-1-19 10:22 | 显示全部楼层 |阅读模式
前言:


这次是iOS和Unity交互。过程没有预想的那么顺利,也踩了一些坑,做个笔记。

要做的事情就是实现 iOS 和 Unity 交互,互相调用函数,传值。
传值系列


iOS Unity 交互(系列一)Unity调用iOS函数 Unity给iOS传值
iOS Unity 交互(系列二)iOS调用Unity函数 iOS给Unity传值
需要的工具


1、苹果电脑安装:Xcode,Unity,VSCode,开发工具安装最新的就行。

2、苹果手机真机,用于调试。
实现目标


先实现一个最简单的交互,在Unity中调用函数,给iOS传值。
操作流程


1、新建一个Unity项目 → 编写C#脚本

2、新建一个Xcode项目  → 编写.mm代码文件

3、把.mm文件放到Unity项目下 → 生成Xcode项目 → 真机运行
第1步 新建Unity项目,初始化工作


新建空白项目


1.png

项目成功运行


2.png

第2步 编写脚本


图片中的完整代码在文章末尾


3.png

第3步 新建Xcode项目,编写.mm文件,并把文件放到Unity项目中


4.png

第4步 生成Xcode项目,真机运行。


5.png


6.png

图片中的示例代码:


C# 脚本代码 jiaoben.cs
using System.Collections;using System.Collections.Generic;using UnityEngine;using System.Runtime.InteropServices;public class Jiaoben : MonoBehaviour{    [DllImport("__Internal")]    private static extern void CadenceInitWith(string name);    void Start()    {        Debug.Log("脚本开始运行");        CadenceInitWith("ABCDEFG");    }    // Update is called once per frame    void Update()    {            }}
OC .mm文件代码  Unity_iOS_Connect.mm
#import <Foundation/Foundation.h>extern "C" {extern void CadenceInitWith(const char *objName) {    NSString *s = [NSString stringWithUTF8String:objName];    NSLog(@"接受从Unity传递过来的字符串 %@", s);}}结语


终究是有一天碰上了Unity。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-22 21:34 , Processed in 0.089593 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表