Unity iOS教程之Xcode打包framework在Unity调用

欢迎加入Unity业内qq交流群:956187480

qq扫描二维码加群


Unity iOS教程之Xcode打包framework在Unity调用。本节介绍,在Unity开发中,与IOS交互,Xcode打包framework作为插件,在Unity中调用的方法,具体如下

Unity iOS教程之Xcode打包framework在Unity调用

Unity iOS教程之Xcode打包framework在Unity调用

工具/原料

  • Unity

  • Xcode

方法/步骤

  1. 1

    打开Xcode,新建一个Cocoa Touch Framework 工程,命个名,选择一个保存工程文件夹,最后创建出工程,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

  2. 2

    在工程中添加需要的.h文件和.m 作为测试,右键 New File... ,首先新添加一个头文件,取个名,其他默认即可,添加出一个.h文件,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

  3. 3

    同理,在添加一个同名的 .m 文件,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

  4. 4

    在 .h 文件上添加一个测试函数,以供Unity测试调用,注意添加 extern "C" 字段,不然可能后期Unity调用编译的时候会报错,具体代码和代码说明如下图

    Unity iOS教程之Xcode打包framework在Unity调用

  5. 5

    在 .m 文件里实现 . h 文件的接口函数,这里简单的打印一个信息,具体代码和代码说明如下图

    Unity iOS教程之Xcode打包framework在Unity调用

  6. 6

    接下来进行设置,在 Build Settings,搜索 Linking,然后对Linking相关进行设置,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

  7. 7

    在Linking中找到并设置:

    1)Dead Code Stripping设置为NO,意思是开启此项就会对代码中的 dead、unreachable 的代码过滤,不过这个开关是否关闭,似乎没有多大影响,不过为了完整还原framework中的代码,建议将此项关闭

    2)Link With Standard Libraries关闭,似乎可以避免重复链接

    3)Mach-O Type设为Static Library,framework可以是动态库也可以是静态库,对于系统的framework是动态库,而用户制作的framework只能是静态库

    具体修改如下图

    Unity iOS教程之Xcode打包framework在Unity调用

  8. 8

    在 Build Settings,搜索 Architectures,然后对Architectures相关进行设置,添加 armv7s,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

  9. 9

    在 Build Phases 设置中的 Headers 的 public 把自己添加的 .h 添加进来,暴露给Unity,方便Unity调用,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

  10. 10

    然后,找到到工程的 .h 文件,引入新添加 .h 的头文件(必须是公开的,否则无法引用),将你所有要公开的.h引入,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

  11. 11

    然后选择 真机和模拟机运行(Command + B),编译出来对应的 framework 文件,然后选中工程中的 Product 下的framework,右键在Finder中打开,即可看到在真机和模拟机下的framework文件,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

  12. 12

    打开终端,把真机和模拟机framework下的工程名的文件合并,首先在终端输入lipo -create 空格,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

  13. 13

    然后把真机和模拟机下的 工程名文件,拖入终端,终端会自动识别路径,然后 输入输出 -output 和 合并的路径及文件名,按下回车,即可看到对应路径下生成的合并文件,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

  14. 14

    在把合并的文件,拖入拷贝一份到模拟机或者真机下的framework中,删掉原先的工程名文件,把合并的文件改名为工程名(如果有后缀.lipo,也一并去掉),具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

  15. 15

    打开Unity,新建一个空工程,在工程中新建一个文件夹路径Plugins/iOS,然后把有合并文件的framework拖入拷贝到工程文件夹路径Plugins/iOS下,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

  16. 16

    在场景中,添加一个按钮,用来触发与iOS中framework的测试接口函数,并合理布局,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

  17. 17

    在工程中新建一个脚本,右键打开进行编辑,引入命名空间 System.Runtime.InteropServices,并把framework的的测试接口声明出来,并编写个函数调用该测试接口,具体的代码和代码说明如下图

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

  18. 18

    脚本编译正确,回到Unity,在场景中新建一个GameObject,白脚本挂载上去,便给场景中的按钮绑定事件,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

    Unity iOS教程之Xcode打包framework在Unity调用

  19. 19

    把平台切换成IOS,然后进行相关的设置,编译打包工程,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

  20. 20

    工程编译完后,使用Xcode打开工程,在工程中即可看到 Unity 应用的 framework 文件,然后连接真机,编译应用安装到手机上,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

  21. 21

    经过一段时间,应用安装到了手机上,运行调试中,点击按钮,即会看到 Xcode调试信息答应的对应的信息,具体如下图

    Unity iOS教程之Xcode打包framework在Unity调用

  22. 22

    到此,Xcode打包 framework,以及在 Unity 的使用功能基本实现


  23. 欢迎加入Unity业内qq交流群:956187480

    qq扫描二维码加群

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值