UnityiOS教程之Xcode打包framework在Unity调用。本瘠彐伊竽节介绍,在Unity开发中,与IOS交互,Xcode打包framework作为插件,在Unity中调用的方法,具体如下
工具/原料
Unity
Xcode
方法/步骤
1、打开Xcode,新建一个CocoaTouchFramework工程,命个名,选择一个保存工程文件夹,最后创建出工程,具体如下图
2、在工程中添加需要的.h文件和.m作为测试,右键NewFile...,首先新添加一个头文件,取个名,其他默认即可,添加出一个.h文件,具体如下图
3、同理,在添加一个同名的.m文件,具体如下图
4、在.h文件上添加一个测试函数,以供Unity测试调用,注意添加extern争犸禀淫"C"字段,不然可能后期Unity调用编译的时候会报错,具体代码和代码说明如下图
5、在.m文件里实现.h文件的接口函数,这里简单的打印一个信息,具体代码和代码说明如下图
6、接下来进行设置,在BuildSettings,搜索Linking,然后对Linking相关进行设置,具体如下图
7、在Linking中找到并设置:1)DeadCodeStripping设置为NO水貔藻疽,意思是开启此项就会对代码中的dead斤舻浑趸、unreachable的代码过滤,不过这个开关是否关闭,似乎没有多大影响,不过为了完整还原framework中的代码,建议将此项关闭2)LinkWithStandardLibraries关闭,似乎可以避免重复链接3)Mach-OType设为StaticLibrary,framework可以是动态库也可以是静态库,对于系统的framework是动态库,而用户制作的framework只能是静态库具体修改如下图
8、在BuildSettings,搜索Architectures,然后对Architectures相关进行设置,添加armv7s,具体如下图
9、在BuildPhases设置中的Headers的public把自己添加的.h添加进来,暴露给Unity,方便Unity调用,具体如下图
10、然后,找到到工程的.h文件,引入新添加.h的头文件(必须是公开的,否则无法引用),将你所有要公开的.h引入,具体如下图
11、然后选择真机和模拟机运行(Command+B),编译出来对应的fram娣定撰钠ework文件,然后选中工程蒗钰妒蟥中的Product下的framework,右键在Finder中打开,即可看到在真机和模拟机下的framework文件,具体如下图
12、打开终端,把真机和模拟机framework下的工程名的文件合并,首先在终端输入lipo-create空格,具体如下图
13、然后把真机和模拟机下的工程名文件,拖入终端,终端会自动识别路径,然后输入输出-output和合并的路径及文件名,按下回车,即可看到对应路径下生成的合并文件,具体如下图
14、在把合并的文件,拖入拷贝一份到模拟机或者真机下的framework中,删掉原先的工程名文件,把合并的文件改名为工程名(如果有后缀.lipo,也一并去掉),具体如下图
15、打开Unity,新建一个空工程,在工程中锪者谧桁新建一个文件夹路径Plugins/iOS,然后把有合并文件的framework拖入拷贝到工程文件夹路径Plugins/iOS下,具体如下图
16、在场景中,添加一个按钮,用来触发与iOS中framework的测试接口函数,并合理布局,具体如下图
17、在工程中新建一个脚本,右键打开进行编辑,引入命名空间System.Runtime饱终柯肢.InteropServices,并把framework的的测试接口声明出来,并编写个函数调用该测试接口,具抄荛挝毳体的代码和代码说明如下图
18、脚本编译正确,回到Unity,在场景中新建一个GameObject,白脚本挂载上去,便给场景中的按钮绑定事件,具体如下图
19、把平台切换成IOS,然后进行相关的设置,编译打包工程,具体如下图
20、工程编译完后,使用Xcode打开工程,在工程中即可看到Unity应用的framework文件,然后连接真机,编译应用安装到手机上,具体如下图
21、经过一段时间,应用安装到了手机上,运行调试中,点击按钮,即会看到Xcode调试信息答应的对应的信息,具体如下图
22、到此,Xcode打包framework,以及在Unity的使用功能基本实现