版本:unity 5.6 语言:C#
总起:
IOS平台在做第三方对接的时候,除了XCode这个IDE有点弱,提示错误内容不太精确以外,通过C语言直接和Unity交互还是很方便的,至少不会出现android平台那么多奇怪的错误。
主要流程是将Unity工程导出成XCode工程,然后在Mac上使用XCode进行开发,开发完毕后可以将XCode的配置文件和一些第三方包做备份,以后新出包的XCode工程直接覆盖就可以了,非常方便。
XCode7以上的版本可以让任何开发者在真机上调试,但是对接支付功能必须有开发者帐号,发布应用当然也必须成为开发者。成为开发者必须向苹果网每年缴纳99美元的费用。
在播放影片的时候,不管是Android平台还是IOS平台,MovieTexture是不支持的。想要播放影片的话,可以将影片放到StreamingAssets文件夹下,然后调用Handheld.PlayFullScreenMovie。
Player Settings:
IOS平台的Player Settings与Standalone平台有很多相似之处,所以这边主要是列举有区别的项目,有需要的请参考之前的文章。
♦ Resolution and Presentation
Default Orientation 默认屏幕的朝向;
Requires Fullscreen 游戏以全屏方式启动;
Status Bar Hidden 应用启动时,状态栏自动隐藏;
Status Bar Style 状态栏的样式;
Disable Depth and Stencil 禁用深度和模版缓存,跟Shader有关,最好不要勾选;
Show Loading Indicator 加载指示器的显示方式。
♦ Icon和Splash Image与Standalone平台类似,暂略。
♦ Debugging and crash reporting
Enable Internal Profiler 启用IOS内部分析器,该分析器会对Unity每个子系统每一帧分析一次,平均一秒会有30次;
On .Net UnhandledException 当程序发生崩溃时,给与用户的处理。Crash,可以让用户向iTunes提供一份崩溃报告;Silent Exit,直接退出。
Log ObjC uncaught exceptions 启用一个用户自定义的ObjC异常处理程序,会将异常信息打印到控制台;
Enable Crash Report API 允许一个自定义的Crash Reporter对异常进行捕捉。
♦ Other Settings中的Rendering和Identification部分和之前的类似,暂略。
♦ Other Settings Configuration
(与Andriod平台配置不同的以粗体表示)
Scripting Backend 脚本,IL2CPP和Mono2x,Mono2x就是C#,而IL2CPP是说将C#转成CPP,其中IL2CPP中的IL是C#编译后的中间语言;
API Compatibility Level 脚本API的版本:.Net2.0和.Net2.0 Subset;
Target Device 目标的设备,可以选择iPhone和iPad;
Target SDK 使用的SDK;
Target minimum iOS Version 目标最小的iOS版本;
Use on demand resources 可以启用需求的资源;
Accelerometer Frequency 加速器取样帧率;
... Usage Description 可以自定义获取该权限的原因文字;
Mute Other Audio Sources 应用程序会停止后台应用程序的音频;
Prepare iOS for Recording 初始化麦克风的API,这可能导致用户只能使用耳机;
Requires Persistent WiFi 确定应用程序是否需要WiFi连接;
Allow downloads over HTTP(nonsecure) 启用该选项时,下载通过http而不是https;
Supported URL schemes URL方案的列表;
Disable HW Statistics 不将硬件统计的信息发送给Unity官方,只有专业版才能勾选;
Behaviour in Background 游戏进入后台后的行为:Suspend 暂停;Exit 退出;Custom 用户自定义。
Architecture 选择目标框架,有两种选择Armv7和Arm64;
Scripting Define Symbols 脚本编译时的标志设置;
♦ Other Settings Optimization
Prebake Collision Meshes 只在build游戏时添加碰撞盒;
Keep Loaded Shaders Alive 保证Shader不会被卸载;
Preloader Assets 预先读取的Assets列表;
AOT Compilation Options 附加的AOT编译选项;
Strip Engine Code 启用代码剥离,只有在使用IL2CPP的时候才会有效果;
Script Call Optimization 有两个选项:
1.Slow and Safe 所有的异常都会被捕捉;
2.Fast but no Exceptions 不会提供异常处理,但运行速度会变快。
Vertex Compression 顶点压缩,选择模型会压缩的数据,比如可以选择everything,然后去掉positions和lightmap UVs。当然每个每个模型在导入时,可以设置独立的该参数,会覆盖掉该选项;
Optimize Mesh Data 优化Mesh数据,勾选该选项会移除材质所不需要的Mesh数据,例如tangents、normals、colors、UV。
个人:
马上2018年了,这也应该是我2017年最后一篇文章了。写官方翻译总是我比较纠结的文章系列,而且从反响来看也并不是怎么好,感觉还是应该多写写三种文章:
1.以某一技术作为基础的博文;
2.以某一解决方案为技术的博文;
3.读书或做项目时的笔记。
新浪博客和CSDN博客访问量合计突破了10W,感觉蛮欣慰的。明年会更加注重实践来写博客,希望大家多多关注。