一、Windows设置
1.找到File >>Build Setting
2.在Unity Build Settings里面选择平台为Platform为IOS
3.把需要打包的场景添加至Scenes In Build
4.点击左下角Players Settings
5.Player Settings介绍
接下来详细介绍一下,Settings for ios 中的详细设置介绍
(一)Icon
(1)Application icons:应用主图标。
(2)Spotlight icons:搜索下拉列表的图标。
(3)Settings icons:通过-设置里显示的小图标。
(4)Notification icons:通知栏里显示的图标。
(5)Marketing icons:应用商店图标。
(二)iOS Player settings - Resolution and presentation
(1)Resolution Scaling
Disabled:确保不应用缩放和游戏渲染到它的本地屏幕分辨率。
FixedDPI:允许您调整设备的屏幕分辨率,使其低于本机分辨率,并显示目标DPI属性。使用它来优化性能和电池寿命,
或针对特定的DPI设置。
(2)Orientation
Portrait:Home按钮出现在底部。
Portrait Upside Down:Home按钮出现在顶部。
Landscape Left:Home按钮出现在右侧。
Landscape Right:Home按钮出现在左侧。
Auto Rotation:自动旋转
(3)Use Animated Autorotation:启用使用动画自动旋转设置,如果你想要改变方向来动画屏幕旋转而不是切换。
这只在默认方向设置为自动旋转时可见。
(4)Allowed Orientations for Auto Rotation
Portrait:允许肖像取向。
Portrait Upside Down:允许纵向颠倒方向。
Landscape Right:允许横向右方向(左侧的home按钮)。
Landscape Left:允许横向左方向(右侧的home按钮)。
(5)Multitasking Support:如果需要全屏模式下运行,启用它。
(6)Status Bar(IOS状态栏设置)
Status Bar Hidden:启用此选项可在应用程序启动时隐藏状态栏。
Status Bar Style:定义应用程序启动时状态栏的样式。选项是默认的,黑色半透明和黑色不透明。
Disable Depth and Stencil:启用此选项可禁用深度和模板缓冲区。
Show Loading Indicator:选择加载指示器应该如何显示。选项是不显示,白色大,白色和灰色。
(三)iOS Player settings - Splash Image
这一项跳过,再不付费或者破解的情况下好多功能都不可以使用。
如果有需要可以参考:
[2018.3.0官方文档](https://docs.unity3d.com/2018.3/Documentation/Manual/class-PlayerSettingsiOS.html#Resolution)
(四)Debugging and crash reporting
(1)Enable Internal Profiler (Deprecated):启用内部分析器(不推荐);
(2)On .Net UnhandledException:.Net未处理的异常;
(3)Log Obj-C Uncaught Exceptions:日志Obj-C未捕获异常;
(4)Enable Crash Report API:启用崩溃报告API。
(五)Other Settings
1. Rendering
Color Space:选择哪个颜色空间应该用于渲染:伽玛或线性。参见线性渲染概述,了解两者之间的区别。
Auto Graphics API:禁用此选项以手动选择和重新排序图形api。默认情况下,这个选项是启用的,Unity包括Metal和GLES2作为不支持Metal的设备的备份。
Color Gamut:你可以为iOS平台添加或删除颜色gamuts来进行渲染。单击 加号(+)图标可以看到可用的gamuts列表。色域定义了给定设备(如显示器或 屏幕)可用的颜色范围。sRGB色域是默认的(也是必需的)色域。
当针对最新的iOS设备使用宽色域显示时,使用DisplayP3来充分利用显示 功能。使用Metal编辑器支持作为旧设备的备份。
Metal Editor Support:启用这个选项来使用Unity编辑器中的Metal API并解锁更快的着色器针对Metal API的迭代。
Metal API Validation:当您需要调试着色器问题时,启用此选项。
Metal Write-Only Backbuffer:允许在非默认设备方向上改进性能。这将在回缓冲区上设置frameBufferOnly标志,这将防止从回缓冲区中进行回读,但允许进行一些驱动程序优化。
Force hard shadows on Metal:启用此选项强制Unity对金属上的阴影使用点采样。这减少了阴影质量,这将提供更好的性能。
Memoryless Depth:选择何时使用无记忆渲染纹理。无内存渲染纹理在渲染 时临时存储在片上内存中,而不是在CPU或GPU内存中。这减少了你的应 用程序的内存使用,但你不能读或写这些渲染纹理。注意:无记忆渲染纹理只 支持iOS, tvOS 10.0+ Metal和Vulkan。渲染纹理被读写保护并存储在其他平 台的CPU或GPU内存中。
Unused:永远不要使用无内存的帧缓冲区深度。
Forced:始终使用无内存的帧缓冲区深度。
Automatic:让Unity决定什么时候使用无内存帧缓冲区深度。
Multithreaded Rendering:启用此选项以使用多线程呈现。这只由金属支撑。
Static Batching: 静态批处理。
Dynamic Batching:动态批处理.
GPU Skinning:启用此选项可以在您的构建中使用动态批处理(默认启用)。
Graphics Jobs (Experimental):启用此选项来使用DX11/ES3 GPU剥皮。 要了解更多关于GPU剥皮的知识,请参阅关于骨骼动画的Wikipedia页面。
Lightmap Streaming 使这个选项只加载lightmap的mip地图需要渲染当前的游戏摄像头。这个值应用于生成的lightmap纹理。
Streaming Priority:设置lightmap mip映射流优先级来解决资源冲突。这些值在生成光贴图纹理时应用。
正数优先级更高。有效值范围从-128到127。
Enable Frame Timing Stats:启用此选项来收集CPU/GPU帧定时统计信息。
2.Identification
Bundle Identifier:输入您正在构建的游戏或产品的配置文件。标识符的基本结构是com.CompanyName.ProductName。
Version:版本号。
Build:该版本应用程序的构建号。
Signing Team ID:苹果开发团队ID。
Automatically Sign:启用此选项以允许Xcode自动对构建进行签名。
3.Configuration
Scripting Runtime Version:选择在项目中使用哪个。net运行时。
.NET 3.5 Equivalent (Deprecated)
.NET 4.x Equivalent
Scripting Backend:脚本后端决定Unity如何编译和执行你的项目中的c#代码。iOS不支持此设置。
Mono
IL2CPP
API Compatibility Level:兼容性级别决定了您可以在项目中使用哪些. net api。此设置会影响与第三方库的兼容性。
.Net 2.0
.Net 2.0 Subset
.Net Standard 2.0
.Net 4.x
C++ Compiler Configuration:选择编译IL2CPP生成代码时使用的c++编译器配置。iOS不支持此设置。
Use on Demand Resource:启用此选项以使用随需应变资源。
Accelerometer Frequency:如果您选择禁用,则不取任何样本。否则,你可以选择15Hz, 30Hz, 60Hz和100Hz的频率。
Camera Usage Description:输入在iOS设备上访问相机的原因。
Location Usage Description:输入访问iOS设备位置的原因。
Microphone Usage Description:输入在iOS设备上访问麦克风的原因。
Mute Other Audio Sources:如果你想要你的Unity应用程序停止在后台运行的应用程序的音频,请启用这个选项。
另外,来自背景应用程序的音频将继续与你的Unity应用程序一起播放。
Prepare iOS for Recording:启用此选项以初始化麦克风录制api。这使得录制延迟更低,尽管在iphone上它只通过耳机重新路由音频输出。
Force iOS Speakers when Recording:启用此选项可以通过内部扬声器发送电话输出,即使在插入耳机并进行录音时也是如此。
Requires Persistent WiFi:启用此选项需要使用Wi-Fi连接。iOS在应用程序运行时保持激活的Wi-Fi连接。
Allow downloads over HTTP (nonsecure):启用此选项以允许通过HTTP下载内容。默认和推荐的是HTTPS。
Supported URL schemes:支持的URL模式列表。
Disable HW Statistics:启用此选项可以指示应用程序不要将有关硬件的信息发送到Unity。
Target Device:选择游戏的目标设备。选项有iPhone专用、iPad专用和iPhone + iPad。
Target SDK:选择游戏目标SDK。选择的是设备SDK和模拟器SDK。
Target minimum iOS Version:定义游戏所运行的iOS的最小版本。
Enable ProMotion Support:启用此选项可在促销显示器上显示高频率刷新率(120hz)。启用此设置可能会影响电池寿命。
Requires ARKit support:当发布到app Store时,启用此选项可以将应用程序限制在iPhone 6s/iOS 11或更新的设备上。
Defer system gestures on edges:允许哪些边,用户必须刷两次,以制定系统的姿态:上边缘,左边缘,下边缘,和右边缘
Hide home button on iPhone X:启用此选项,可以在应用程序运行时隐藏iPhone X设备上的home按钮。
Render Extra Frame on Pause:启用此选项可以在应用程序暂停后的帧之后发出额外的帧。
这允许您的应用程序显示图形,指示暂停状态时,应用程序进入背景。
Behavior in Background:选择当用户按下home按钮时应用程序应该做什么。
Custom:您可以通过后台处理实现自己的行为
Suspend:暂停应用程序,但不要退出。这是默认的行为。
Exit:当用户按下home键时,让应用程序退出,而不是挂起。
Architecture:选择要针对的架构。
Universal:支持所有的架构。
Armv7:只支持旧的32位ARM架构。
Arm64:只支持更新的64位ARM架构。
x86_64:支持x86_64 Intel架构。这是模拟器SDK唯一可用的架构。
Scripting Define Symbols:设置自定义编译标志。
Allow ‘unsafe’ Code:支持在预定义的程序集中编译“不安全的”c#代码(例如,assembly - csharp .dll)。
Active Input Handling:选择如何处理来自用户的输入。
Input Manager:使用传统的输入设置。
Input System (Preview):新的输入系统,此功能官方还不完善,正在开发中,关注后续unity更新的版本。
Both:同时使用这两种系统。
4. Optimization
Prebake Collision Meshes:启用此选项以添加冲突在构建时进行数据网格化。
Keep Loaded Shaders Alive:启用此选项以防止卸载着色器。
Preloaded Assets:设置玩家启动时要加载的资产数组。
AOT compilation options:用于提前编译(AOT)的其他选项。这有助于优化构建的iOS播放器的大小。
Strip Engine Code:如果你想要Unity链接器工具删除你的项目没有使用的Unity引擎特性的代码,可以启用这个工具。此设置仅可用于IL2CPP脚本后端。
大多数游戏不使用所有必要的dll。在启用了Strip Engine代码选项后,您可 以剥离未使用的部分,以减少iOS设备上构建的播放器的大小。如果您的游戏
使用的类通常会被您当前选择的选项所删除,那么在您进行构建时,您将看 到一条调试消息。
Managed Stripping Level:选择如何积极的Unity条带未使用的托管(c#)代码。
当Unity构建您的游戏或应用程序时,Unity Linker进程可以从项目中使用的 托管动态链接库中删除未使用的代码。剥离代码可以使生成的可执行文件显著
变小,但有时可能错误地删除实际使用的代码。该设置允许您选择Unity删除 未使用代码的方式。
Normal:删除不可到达的托管代码,以减少构建大小和. net / il2cpp构建时间。
Aggressive:以比正常选项更大的力度删除代码。代码大小进一步减少,但这种额外的减少可能有副作用。
Script Call Optimization:选择如何在运行时选择性地禁用异常处理以提高速度。
Slow and Safe:使用完整的异常处理(在使用Mono脚本后端时对设备造成一些性能影响)。
Fast but no Exceptions:没有为设备上的异常提供数据(当使用Mono脚本后端时,游戏运行得更快)。
Vertex Compression:设置每个通道的顶点压缩。
Optimize Mesh Data:启用此选项可从网格中删除应用于其上的材料(如切线、法线、颜色和uv)不需要的任何数据。
4.Logging
选择在特定上下文中允许的日志记录类型。
在运行脚本(ScriptOnly)、始终(Full)或从不(None)时,选中对应于每种日志类型(错误、断言、警告、日志和异常)的一个框。
5.Legacy
Clamp BlendShapes (Deprecated):启用Clamp BlendShapes (Deprecated)选项来夹住SkinnedMeshRenderers中混合形状的权值范围。
6.工作中常用设置介绍
7.Windows打包XCode工程
以上设置完之后就可以点击Build Settings右下角的Build按钮,选择文件下打包。打包完之后,将XCode项目Copy到MAC电脑上,完成接下来的步骤,详情请看”Mac设置”。
二、Mac设置
第一:这个不是上传苹果商店的打包方式。
第二:证书配置没有写,可以百度。
1.双击打开Unity-iphone.xcodeproject工程。
2.选择开发者账号
3.找到TARGETS>>Unity-iPhone>>Build Settings>>Build Options>>Enable Bitcode,设置为No.
4.找到PROJECT>>Unity-iPhone>>Build Settings>>Build Options>>Enable Bitcode,设置为No.
5.点击Product>>Archive,开始打包
6.打包成功之后Mac将显示一下界面,然后点击Export.
7.然后选择第四项:save for development deployment,next下一步。
8.选择开发者账号
9.选择Export ont app for all compatible devices,导出兼容所有设备的app,next下一步。
10.下一步
11.Export
12.完成
13.安装(数据线接入电脑,打开IiTools,选择打包到桌面的IPA程序,点击安装。)