unity开发关于IOS平台接入之自动化构建管线
2015-06-15 00:24
791 查看
这两天做了下unity ios平台接入,遇到了些问题给大家分享下,这里说下自动化构建管线遇到的一些问题;
自动化构建管线用到的工具XUPorter可以到gitHub上下载:https://github.com/onevcat/XUPorter
官方文档上会有关于XUPorter的描述
先说下.projmods文件各个参数的用法:
"group":
"KKKeychain",
"libs":
[],
"frameworks":
["Security.framework"],
"headerpaths":
[],
"files":
[],
"folders":
["iOS/KKKeychain/"],
"linker_flags":
[],
"complier_flags:"[],
"excludes":
["^.*.meta$",
"^.*.mdown$",
"^.*.pdf$"]
group:所有由该projmods添加的文件和文件夹所属的Xcode中的group名称
libs:在Xcode Build Phases中需要添加的动态链接库的名称,比如libz.dylib
frameworks:在Xcode Build Phases中需要添加的框架的名称,比如Security.framework
headerpaths:Xcode中编译设置中的Header Search Paths路径
files:加入工程的文件名
folders:加入工程的文件夹,其中所有的文件和文件夹都将被加入工程中
linker_flags:添加到工程linker flag中的链接配置,比如-ObjC
compiler_flags:设置是否为ARC
excludes:忽略的文件的正则表达式,匹配的文件将不会被加入工程中
上面是一些基本的用法,这些参数还有一些其他特性,
如libs,frameworks等在两个.projmods文件里都添加,导出工程时不会重复添加;
添加的SDK为非ARC文件
关于folders参数与compiler_flags参数,
在compiler_flags里设置-fno-objc-arc则所有文件都被设置为非ARC,
但是unity5.0以上默认都为ARC会导致运行崩溃,所以可以在floders里这样设置
"folders":
[
"SDK/:-fno-objc-arc",
"SDK/XXX/Config/"
],
这样就可以选择导入的SDK文件夹文件为非ARC;
导入的第三方framwork一定要在files:里添加否则会报错
如SDK/XXX/xxx.framwork
这里注意第三方文件的位置放置不对也是无法找到framwork的
如果导出正确Xcode
build Phases/Link Binary With Libraries下会有自动添加该framwork
(分享个我遇到的问题,unity项目里用到的一个framwork和我sdk里的framwork重复了,结果我sdk那个
framwork目录下的其他framwork也找不到了,我的解决方法是直接把找不到的framwork直接对到项目
目录下就OK了)
关于jS、html文件unity无法兼容问题,直接把js文件放在assets目录外就OK了,我是直接把整个SDK都
放到assets目录外了,这样unity就不需要读取这些文件,构建xcode工程时也不会拷贝这些文件只是添加
了引用,打包时只是把需要的东西存起来与目录无关。<_>好像说跑偏了
哈哈,就说这些。新手第一次发blog大家多支持啊。<__>
自动化构建管线用到的工具XUPorter可以到gitHub上下载:https://github.com/onevcat/XUPorter
官方文档上会有关于XUPorter的描述
先说下.projmods文件各个参数的用法:
"group":
"KKKeychain",
"libs":
[],
"frameworks":
["Security.framework"],
"headerpaths":
[],
"files":
[],
"folders":
["iOS/KKKeychain/"],
"linker_flags":
[],
"complier_flags:"[],
"excludes":
["^.*.meta$",
"^.*.mdown$",
"^.*.pdf$"]
group:所有由该projmods添加的文件和文件夹所属的Xcode中的group名称
libs:在Xcode Build Phases中需要添加的动态链接库的名称,比如libz.dylib
frameworks:在Xcode Build Phases中需要添加的框架的名称,比如Security.framework
headerpaths:Xcode中编译设置中的Header Search Paths路径
files:加入工程的文件名
folders:加入工程的文件夹,其中所有的文件和文件夹都将被加入工程中
linker_flags:添加到工程linker flag中的链接配置,比如-ObjC
compiler_flags:设置是否为ARC
excludes:忽略的文件的正则表达式,匹配的文件将不会被加入工程中
上面是一些基本的用法,这些参数还有一些其他特性,
如libs,frameworks等在两个.projmods文件里都添加,导出工程时不会重复添加;
添加的SDK为非ARC文件
关于folders参数与compiler_flags参数,
在compiler_flags里设置-fno-objc-arc则所有文件都被设置为非ARC,
但是unity5.0以上默认都为ARC会导致运行崩溃,所以可以在floders里这样设置
"folders":
[
"SDK/:-fno-objc-arc",
"SDK/XXX/Config/"
],
这样就可以选择导入的SDK文件夹文件为非ARC;
导入的第三方framwork一定要在files:里添加否则会报错
如SDK/XXX/xxx.framwork
这里注意第三方文件的位置放置不对也是无法找到framwork的
如果导出正确Xcode
build Phases/Link Binary With Libraries下会有自动添加该framwork
(分享个我遇到的问题,unity项目里用到的一个framwork和我sdk里的framwork重复了,结果我sdk那个
framwork目录下的其他framwork也找不到了,我的解决方法是直接把找不到的framwork直接对到项目
目录下就OK了)
关于jS、html文件unity无法兼容问题,直接把js文件放在assets目录外就OK了,我是直接把整个SDK都
放到assets目录外了,这样unity就不需要读取这些文件,构建xcode工程时也不会拷贝这些文件只是添加
了引用,打包时只是把需要的东西存起来与目录无关。<_>好像说跑偏了
哈哈,就说这些。新手第一次发blog大家多支持啊。<__>
相关文章推荐
- Unity 5.1 重大发布,新功能全力支持VR开发
- <Unity UGUI><EasyTouch> 使用EasyTouch, 摇杆在Dynamic模式下,点击UI控件也会弹出的问题解决
- Unity Notes之配置文件基于内容的差异化更新
- 【Unity】项目源码——简单2D空战游戏
- Unity中 Plugin 跨语言 类型转换
- Unity项目对 git版本控制库扩展插件
- unity, do nothing的state
- unity, stateMachine, change state name
- Shader基础实例之动画序列帧播放
- 【Unity】Finite State Machine 有限状态机
- Unity 5事件系统
- 【Unity小工具】批量修改原始资源设置
- unity 中用vs 打开cs脚本找不到关联类
- [Unity3D]自己动手重制坦克舰队ArmadaTank(2)从碰撞说起
- unity3d 安卓发布
- 【原创】Unity T4M 中文讲解
- unity3d easytouch教程
- Unity3d中制作Loading场景进度条(转)
- unity 第三人称
- Unity手游之路<六>游戏摇杆之Easy Touch 3教程