Unity3D打包(IOS)IPA详细教程

一、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程序,点击安装。)

  • 13
    点赞
  • 101
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值