Unity导出xcode自动配置工具

发表于2018-12-21
评论0 4.7k浏览
Unity3D5.5在UnityEditor.iOS.Xcode命名空间下提供了一组的类,用以操作Unity3D生成的Xcode工程,从命名空间可以得知,这些都是编辑器类。

这里介绍的[配置工具]是对这些API的一个封装与整合,使用者只需要编辑、提供一个json配置文件(XCodeConfig.json)。

支持功能:
1、Info.Plist编辑支持
2、系统Lib添加、移除支持
3、系统framework添加、移除支持
4、工程编译属性的添加、更新、移除
5、文件加入
6、文件夹加入
7、文件编译符号更新

工具包只能放在U3D工程Assets根目录下,形如:

XCodeConfig.cs是对api的封装代码,并会在打包完成时被引擎调用以配置xcode。XCodeConfig.txt是json配置,不能改名字。XCodeConfigTemplate.txt是json模板,一个备份。剩下的两个是工具类。

模板形式如下,tip字段是注释,无实际作用:

键libs下是配置静态库;键frameworks下是配置框架;键properties下是配置工程的编译属性;plist是编辑info.plist文件;files是待复制文件,folders是待复制文件夹;filesCompileFlg是文件编译符号的设置。

下面举例说明:

静态库配置:

ios9以上,lib是以tbd为扩展名的,+号里表示要添加的库,-号是要移除的,一般不需要移除。

框架配置:
同上。

编译属性配置:

A、Bitcode设置为关闭
B、ObjC异常设置为启用
C、其它链接符号中加入符号-ObjC

需要注意的是,配置的KEY可能和在Xcode中看到的KEY不一样,每一条属性有一个声明名字和一个描述名字,一般配置下,在Xcode中看到的是描述名字,我们需要的是它的声明名字,方法就是,在Xcode中选中该条属性,点击右边检视面板上的“?”图标,然后Declaration就是我们需要的名字,例如,Enable Bitcode属性它的声明为ENABLE_BITCODE,所以我们在配置时key为ENABLE_BITCODE。

Info.plist配置:



分别配置了ShareSDK Schemes、相册权限描述、ShareSDK白名单,同上,它的KEY也是需要声明名字。

文件复制配置:

无,一般可用文件夹复制代替。

文件夹复制配置:

复制了原生相册插件、Share插件,key是文件夹在U3D工程的位置,以工程根目录为根(也即Assets的父目录)的相对路径,所以不建议放在Assets下,可以单独建文件夹。Value是文件在Xcode中的位置,是以Xcode工程目录为根目录的相对路径。

目前存在bug是xcode工程复制到其它mac上时,文件夹引用会丢失,需要手动添加一下引用。

文件编译符号配置:
这里是对JSONKit.m文件添加了-fno-objc-arc符号,注意value是数组,也即可以写多个,也可以合成一个string写,但始终是数组形式。

配置json文件XCodeConfig.json可以在相应目录下找到:
插件下载:http://pan.baidu.com/s/1dEMaavn

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引