Unity项目输出到IOS平台发布时,需要进行一些PlayerSettings的设置,对关键的一些设置做一些说明: 
IOS的PlayerSettings分为: 
Resolution and Presentation 即分辨率及样式 
这一项主要是对旋转方向,是否全屏,状态栏是否隐藏,是否显示一个等待圈等基本的设置,这个设置其实就是修改的 xcode中的info.plist文件, 
这里重点说一下Disable Depth and Stencil这个选项: 
这个意思是说是否禁用深度缓存和模板缓存,这个选项默认是不禁用,如果shader中没用到深度和模板缓存,禁用这个选项可以减少GPU/CPU的一些工作量,节省一点点内存,或只是2D游戏,并且不包含模板遮罩,也可以禁用这个选项 
Icon图标设置 
第一组对应的180X180,167X167,152X152,144X144,120X120,114X114,76X76,72X72,57X57这几组尺寸的图标,分别对应的是不同的iphone设备上的桌面图标,可以全部自己一一设置,也可以用默认的,unity会自动生成相应的尺寸 
第二组spotlight icons,有120X120,80X80,40X40,三种尺寸,这个对应的是搜索下拉列表的图标(稍候上图) 
第三组settings icons ,有87X87,58X58,29X29三种尺寸,是通过-设置里显示的小图标 
第四组Notification icons,有60X60,40X40,20X20三种尺寸,是当有消息通知时,在通知栏里显示的图标 
第五组App Store icons,是1024X1024的尺寸,这个图标本来是发布应用时在开发者网站后台设置的,Xcode9改成了可以直接在Xcode设置 
Prerendered icon 指的是,是否预渲染图标(稍后解释什么是预渲染图标,作用是什么) 
Splash Image 
Virtual Reality Splash Image,只用于开启了VR支持的情况,在加载第一个场景时出现,图像的尺寸没有什么特别的要求 
Splash Screen,是刚加载初始化时使用,如果是Pro版,可以自己指定。如果不是,则使用Unity的默认splash图。 
Spash Style指设置Splash的样式,包括Dark on light 和light on dark 
Animation是指Splash出现时的动画效果 
Show Unity logo,是指在splash屏下是否出现unity的logo标志,Pro版可以不选 
DrawMode指unityLogo出现的位置,Unity logo below指在splash出现的过程中Unity logo始终在下面出现, 
All Sequential指,按顺序出现,如果勾选了Show Unity logo,Unity Logo会第一个出现。 
Logos可以添加多个图片,还可以设置每个图片出现的时间,这个功能主要用于出现多个spash屏时,设置,图片的格式要求是sprite2d, 
Background:是Splash阶段的背景,Overlay Opacity指背景叠加的透明度,BackgroundImage是指背景图片,尺寸会充满全屏,Alternate Protrait Image,用于portrait 竖屏模式下的背景,如果不设置都使用BackgroundImage 
iPhone Launch Screen: 
Launch Screen 是iOS8.0以后新增加的一个使用XIB文件动态生成Launch image的功能。 
Launch screen type:是指Launch screen的类型,分为如下几类: 
None:不生成Launch Screen图,只有Launch Images图 
Default:使用默认的设置,和Launch images 类似,会在xcode根目录生成一个LaunchScreen-iPhoneLandscape.png和LaunchScreen-iPhonePortrait.png图 
Image with background, relative size:指的是相对于屏幕尺寸的一个相对比例显示,会在xcode要目录下生成LaunchScreen-iPhone.xib用于描述填充比(Fill percentage)和颜色(color),和LaunchScreen-iPhoneLandscape.png和LaunchScreen-iPhonePortrait.png图 
Image with background, constant size:指的是不随屏幕大小比例而变化,而是使用图像本身的实际大小显示, 
也是会在xcode要目录下生成LaunchScreen-iPhone.xib用于描述填充比(Fill percentage)和颜色(color),和LaunchScreen-iPhoneLandscape.png和LaunchScreen-iPhonePortrait.png图 
Custom Xib:是指可以自定义xib文件,描述图片的显示方式 
Legacy Launch Images:是io7以前的设置方式,此种设置方式已经过期,IOS8以后可以用Launch Screen方法,这样可以减小资源数量,减小包大小。 
这几种的显示顺序是:当游戏启动时, 
先显示IOS层面的Launch Screen, 
然后进入Splash屏阶段,此阶段会设置多个闪屏或开启unty Logo,设置Background背景融合 
前面的这些显示相关的设置就到这里。 
接下来是Other settings的设置,我们放在下次再详细说明这部分

Debugging and Crash Reporting 
Enable Internal Profiler:开启一个内部的Profiler,将收集到的性能信息打印到控制台,这个功能已经不建议使用了 
On .Net UnhandledException:分为Crash和Silent Exit,分别指.net出现异常后生成Crash Reporter报告上报给苹果和出现异常时什么也不错,直接忽略 
Log ObjC uncaught exceptions:些值到应的是Xcode工程中CrashReport.h中的ENABLE_OBJC_UNCAUGHT_EXCEPTION_HANDLER宏定义,如果此值是1,则开启对CrashReporter.mm中的InitObjCUEHandler方法的调用 
static void InitObjCUEHandler() 

// Crash reporter sets its own handler, so we have to save it and call it manually 
gsCrashReporterUEHandler = NSGetUncaughtExceptionHandler(); 
NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler); 

Enable Crash Report API: 通过CrashReport API 捕捉 Crash 
这几种Debug和Crash报告的方法可以灵活运用,更好的帮助定位bug. 
Other Settings 
渲染相关: 
Color Space:是指选择颜色空间,分为Gamma空间和Linear线性空间,这个会单独拿出文章来讲 
Auto Graphics APIs:选择使用哪个图形API,可以选择Metal,GLES2和GLES3,ios下默认是Metal 
Force hard shadows on Metal:指在Metal下强制使用硬阴影 
Metal Editor Support:指的是在Editor下支持Metal API 
static batching:指在build阶段使用静态合批 
Dynamic batching:指在build阶段使用动态合批 
GPU Skinning:将允许符合条件平台使用GPU Skinning,平台包括Dx11或GLES3 
Graphics Jobs:启用后可将Jobs从主线程迁移到工作线程从而获得极大的渲染性能提升,注意这个还是在实验性的,慎用 
Virtual Reality Supported:开启之后,可以自行添加VR的SDK如GVRSDK,当Build时会在Xcode中加入pod项目,添加VR相关的SDK 
项目标识设置:(Identification): 
Bundle Identifier:指在Apple账号平台设置的provisioning certificate的bundle 名称 
Version:对应的是XCode中plist的CFBundleShortVersionString,指发布版本号,提交审核时需要的 
Build:对应的是CFBundleVersion,指当前发布版本的内部build版本,这个值每次重新提审都要递增修改,否则会提交失败 
Automatically Sign:是否使用自动签名,如果选择此项,需要填写Team ID,TeamID也是苹果开发者账号后台设置的,会自动生成provisioning profile 
iOS Provisioning Profile:是指在苹果开发者后台设置的provision文件,选择之后,ProfileID会自动填充上 
编译配置: 
Scripting Runtime Version:指C#脚本的运行时版本,分.NET3.5和.NET4.6两个版本 
Scripting Backend:指build后脚本生成的方式分Mono和IL2CPP,由于苹果现在要求提交的app需要支持64位,所以这里只能选择IL2CPP生成C++的代码,编译成支持64位的代码,而Mono不能支持64位,审核时会被苹果拒绝 
Api Compatibility Level:指C#API兼容级别,分.Net2.0全集和.Net 2.0 SubSet,尽量选择SubSet,可以减小包大小, 
Target Device:指发布的目标平台,分iphone,ipad和iphone+iPad 
Target SDK:指使用哪个版本的XcodeSDK,分Device SDK和 Simulator SDK,选择Device SDK则只能在设备上打包测试,而选择Simulator SDK则可以直接在XCode模拟器运行,具体看测试的需要 
Target minimum iOS Version:指支持的最小的iOS版本,现在最高版本已经是ios11了,所以设置成最小值是8.0即可 
Use on demand resources:这个是IOS9.0以后支持的一项资源分包功能,类似AssetBundle,可以分成几个文件,这样减少用户下载的等待时间,剩下部分再慢慢下载,勾选这个后最小版本会自动变成9.0 
Accelerometer Frequency:设置检测加速度传感器的频率,默认情况下,一个UnityiOS应用程序加速器每秒进行60次采样,可以通过降低采样频率的加速度看到一些性能上的好处,甚至可以在游戏不使用加速器输入,将它设置为Disabled 
**Camera Usage Description: 
Location Usage Description: 
Microphone Usage Description:** 

这三个选项分别指,询问用户是否允许App使用相机,位置和麦克风的权限,如果需要访问,这里要添上描述,用于询问时的描述 
Mute Other Audio Sources:是否当app进入后台后继续播放音频 
Prepare iOS for Recording:当勾选时microphone recoding api会被初始化,使录音有较低的延迟 
**Requires Persistent WiFi:**app是否需要Wi-Fi连接,当App运行时iOS会维护一个活动的Wi-Fi连接,对应info.plist的Application uses Wi-Fi key 
Allow downloads over HTTP (nonsecure):开启后允许通过HTTP下载内容,默认推荐是使用HTTPS 
Supported URL schemes:配置IOS的URL schemes 
Disable HW Statistics:是否禁用 Hard Ware 统计,默认Unity的 iOS app会发送匿名的Hard Ware 统计到Unity.禁用后可以禁止发送统计 
**Defer system gestures on edges: 
Hide home button on iPhoneX:** 
这两个选项主要是针对iPhoneX的功能设置的,由于iPhoneX取消了实体home键,所以会有一个指示边提供了类似Home键的功能,默认手势会先响应指示边,这会在游戏中造成不好的体验,比如误点,所以IOS11提供了延迟系统手势的选项,可以针对四个边的每个边进行设置,建议四个全设置成延迟。 
也可以设置成隐藏homeButton,注意这两个不要同时设置,如果想实现延迟系统手势的效果,就不要设置隐藏home button了 
Render Extra Frame on Pause:指当app 暂停时是否渲染额外的帧 
Behavior in Background:指app切到后台后的行为,可以选择挂起,退出,或自定义一些行为 
Architecure:选择支持的CPU架构,ARMv7或ARM64或两者全兼容 
Scripting Define Symbols:可以自定义编译选项,定义后可以在代码里用#号引用 
Active Input Handling:使用新的Input System还是Input Manager或是两者都用 
优化相关(Optimization): 
Prebake Collision Meshes:
是否在构建时将碰撞数据加到mesh里 
Keep Loaded Shaders Alive:保证已经加载的Shader不会被卸载 
Preloaded Assets:当app启动时被预先加载的资源数组 
AOT Compilation Options:附加的AOT编译器选项 
Strip Engine Code:如果被选中,unity会默认剥离在项目中不会使用的组件”,也就是说,假如你的项目中没有音频功能,unity会在封装的时候去掉这部分代码以减少大小,这个设置只在IL2CPP中有效) 
Script Call Optimization:分Slow and Safe和Fast But No Exceptions,除非是极致的优化性能,建议还是选择Slow and safe 
Vertex Compression:选择哪些Vertex channels被压缩,压缩可以节省内存和带宽,但会丢失一些精度,包括Position,Normal 
Color,UV0,UV1,UV2,UV3,Tangent(切线空间) 
Optimize Mesh Data:从mesh中移除掉材质不需要的数据包括tangents(切线),normals(法线),colors,和UV 
Logging:是指设置日志输出的类型

Unity的IOS PlayerSettings的设置说明相关推荐

  1. MAC Unity导出iOS工程

    导出工程很简单,如图操作: 接下来最重要的就是Player Settings中的设置了,以下为具体每一项的说明,这个必须要仔细看和理解呀,否则运行编译一堆问题,还无处下手. 官网地址: https:/ ...

  2. unity发布ios高通AR的问题

    1)缺少引用,无法找到vuforiaBehavior 原因:Windows下的工程,直接考到mac下,导致unity自带插件(2017)有问题 解决:首先在playerSettings-xrSetti ...

  3. Unity 发布IOS平台并部署到真机上测试的方法

    准备 Mac OS系统 使用Unity做IOS开发,需要一台苹果系统的电脑,如果没有,那就用虚拟机或者安装黑苹果吧,虽然Windows版Unity也可以跨平台发布IOS,但是问题多的让你怀疑人生. 虚 ...

  4. Unity与IOS交互,调用相机相册,兼容ipad

    IOS篇 在处理unity和ios的时候,除了对oc不太习惯以外,还有就是iphone和ipad有些方法需要做区别.比如通用的弹窗方法不用,以及ipad上打开相册竟然可以支持显示的相册不是全屏了!好吧 ...

  5. Unity接入iOS内购

    1.内购种类 consumable:可消费的,如游戏中的金币,用完还可以再购买. non-consumable:不可销毁的,一次购买,永久生效.比如去广告,解锁游戏关卡,这种商品只能购买一次. sub ...

  6. Unity打包Ios相关权限和麦克风延迟问题的一种解决办法

    Unity打包Ios相关权限和麦克风延迟问题 Hello 大家好我又来填坑了 问题一:调用 Microphone.Start()方法的时候主线程明显卡顿 问题二:IOS使用麦克风时声音不会从扬声器里发 ...

  7. Unity接入iOS微信支付

    最近因为公司项目需求,需要做iOS的位置支付,所谓初生牛犊不怕虎,博主直接二话不说就像二愣子一样的直接上手做了,虽然之前知道iOS使用OC(object-c)做的开发,到了真正接触了才发现,o my ...

  8. IOS UIPageControl的设置点为一张图片

    IOS UIPageControl的设置点为一张图片 从ios13以后,或者更高版本,,老版本使用kvc间接设置,即可,你看的资料可能是使用kvc设置,然而并没什么用.我采用的是新版本. 源码 htt ...

  9. 从0开始架构一个IOS程序—— 02 — 设置启动图标与启动页面

    从0开始架构一个IOS程序 02设置启动图标与启动页面 Mac OSX 10.11 之后 1 指定应用程序所要加载的应用图标与启动加载图片 2 应用图标的相关设置 3 启动图片的相关设置

最新文章

  1. “CV_GRAY2BGR”: 未声明的标识符
  2. UITableView优化
  3. 5912. 每一个查询的最大美丽值
  4. 权势二进制(51Nod-1413)
  5. Python3中异常处理和try/except,try/finally的用法
  6. 腾讯开工日1.5亿美元领投Reddit,美国贴吧最新估值30亿美元
  7. Mysql数据库性能优化配置:my.cnf/my.ini配置说明详解(测试机器为16GB内存)
  8. java jstl 库下载_jar包下载,jstl.jar和standard.jar下载
  9. 二叉树前中后序遍历及其本质
  10. 怀念《100部经典动漫大回顾》 你还记得几部?(附图)
  11. 项目管理九大知识领域五大过程组
  12. Bellman 贝尔曼方程究竟是什么
  13. jpi多表联查_使用mybatis进行多表联查
  14. 运动快乐的来源-内啡肽
  15. 【Spring源码】Spring事务原理
  16. python中os模块用法
  17. 地下城服务器位置,地下城服务器地址是多少
  18. Android MVVM架构
  19. 测评5款电脑上可以用的epub阅读器
  20. 华科计算机组成原理 单总线CPU设计 定长变长现代时序中断 指令周期3级时序 (LogisimEducoder)

热门文章

  1. linux将日历信息导出到,在 Linux 命令行中规划你的假期日历
  2. wlh机器人_恐怖谷理论,人类对仿真机器人的天生恐惧
  3. python需要cpu还是显卡问题_如果研究深度学习方向,是CPU更重要还是显卡更重要?...
  4. 拼写单词 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符
  5. 奇虎360起诉瑞星和中关村在线
  6. 快速上手飞桨PaddleClas图像分类库
  7. 蓝湖--UI切图软件,适用于ios,安卓,Web
  8. 利用QGIS下载地图数据
  9. 各大招聘网站信息实时查询浏览
  10. Word2016中调节页眉内容一部分左对齐,一部分右对齐