Unity3D出iOS的包操作指南


请尊重原作者的工作,转载时请务必注明转载自:www.xionggf.com

1 切换平台到iOS下

打开【Unity|File|Build Setting】菜单,选择iOS平台,然后点击左下角的Switch Platform切换到iOS平台,右边选择Release。确保项目能在iOS平台上正确运行了再下一步打包。

2 配置Unity项目PlayerSetting

界面上各个选项如下表所示:

选项 细节
Company Name 公司名,与下面的Bundle Identifier对应
Product Name 项目名,也是与下面的Bundle Identifier对应
Bundle Identifier com.CompanyName.ProductName,这个在打包成xCode工程之后,需要和在苹果开发者网站上的app IDs一致,不然会报错:项目Identifier与开发者账号申请的证书的Identifier不同。
Scripting Backend 选择IL2CPP,支持64位。
Api Compatibility Level 如果项目中使用到了文件的操作,要选择“.NET 2.0”
Target Device 项目要运行的平台,有哪个就选哪个,不过到时候审核的时候也是要iPhone和iPad分开审核。
Target SDK 这个选择DeviceSDK,选用设备的SDK就行了。
Target minimum iOS Version 限制最低可运行iOS版本,这个在xCode中也可以更细致调整。

PlayerSetting界面如下图所示:


    )

到这里,就可以打包了,点击【File|Build And Run】菜单,会弹出要保存的项目文件地址,Unity3D会把工程导出成一个可以给xcode使用的工程。

3 构建开发版的包

首先在xcode的Account里面添加苹果开发者账号。从xcode 7开始,在开发阶段,如果只需要进行真机调试而不要求发布到AppStore上的话,可以使用一个普通的苹果用户ID作为真机调试账号。方法如下:

第1步:首先点击菜单【Xcode|Preferences...】,



图3.1 本图取自https://www.jianshu.com/p/5c1fb2cb293c

第2步:然后点击【Accounts】切换到如图所示界面,然后点击左下角的“+”号,会弹出一个填写对话框,在此对话框中添加你的苹果用户ID,密码等等,信息,最后点击【Sign in】按钮



图3.2 本图取自https://www.jianshu.com/p/5c1fb2cb293c

第3步:添加账户成功后,在图3.1中左边的【Apple IDs】】列表选项,选中填写的账户时,在图3.1中右边的区域,将会出现这个账户的详细信息。付费开发者账户显示的是"Agent"】(Xcode 7 、8 都是),未交费显示的是“Free”】(Xcode 7,Xcode 8 显示"User"或别的),如图1.3.3所示。双击【Pesonal Team】】后进入下一个界面。



图1.3.3 本图取自https://www.jianshu.com/p/5c1fb2cb293c

第4步:点击图3.4中的箭头所指的【Create】按钮,创建iOS Development,创建成功后会在下半部分的【Provisioning Profiles】添加上生成的profiles,最后点击【Done】按钮;



图3.4 本图取自https://www.jianshu.com/p/5c1fb2cb293c

第5步:接下来就在工程中使用这些生成的profile。如图3.5所示,选中工程的project文件,定位到【TARGETS-> General->Signing->team】编辑框,Identity在打开Unity导出的项目时已经有默认生成。要改的是就是里面的Team,选择刚刚在Account里面添加的苹果账号,勾选上面的【Create】Automatically manage signing,XCode8以上支持自动配置,根据iPhone和iPad不同,可分别设置。


    
图3.5 本图取自https://www.jianshu.com/p/5c1fb2cb293c

第6步:接下来可以连接真机进行打包并调试了,连上电脑和ios设备之后,将Generic iOS Device换到你的测试设备,然后点击运行按钮即可。如图3.6所示。等待打包,期间手机屏幕不要锁上,不然会卡在最后。如果是该设备是第一次真机测试的话,会弹出如下证书和开发者未被信任的对话框。



图3.6 本图取自https://www.jianshu.com/p/5c1fb2cb293c

解决方式是:在中点击设置(Settings) ---> 通用(General)--->设备管理(Device Management)--->点击对应的apple id ---->信任(Trust)

4 构建iOS应用的各种证书及申请管理方式

构建iOS应用需要用到以下的一些证书,其分类如下:

证书类型 证书描述
开发者证书 (分为开发(iOS development)发布(iOS Distribution)两种,这个是最基础的,不论是真机调试,还是上传到appstore都是需要的,是一个基证书,用来证明自己开发者身份
AppID 这是每一个应用的独立标识,在设置项中可以配置该应用的权限,比如是否用到了PassBook,GameCenter,以及更常见的push服务,如果选中了推送服务,那么就可以创建推送证书,所以,在所有和推送相关的配置中,首先要做的就是先开通支持推送服务的AppID
推送证书 (也分为开发(APNs Development ios)发布(APNs Distribution ios)两种,该证书在AppID配置中创建生成,和开发者证书一样,安装到开发电脑上
Provisioning Profiles 该文件将AppID,开发者证书硬件Device绑定到一块儿,在开发者中心配置好后可以添加到Xcode上,也可以直接在Xcode上连接开发者中心生成,真机调试时需要在Provisioning Profiles文件中添加真机的UDID

平常制作流程一般都是按以下序列进行:

  1. 先利用开发者帐号登陆开发者中心,创建开发者证书,AppID
  2. 在AppID中开通推送服务
  3. 在开通推送服务的选项下面创建推送证书
  4. 在Provisioning Profiles文件中绑定所有的证书id,添加调试真机

5 申请应用的App ID

  1. 打开苹果开发者官网,点击“Account”登录会员中心。
  2. 填写信息创建App ID


图3.6 本图取自https://blog.csdn.net/qq_28996151/article/details/48318517


图3.6 本图取自https://blog.csdn.net/qq_28996151/article/details/48318517

参考网页

在Mac中如何安装VScode并作为Unity3D开发IDE Mac操作拾遗 在低版本中的XCode中使用高版本的iOS SDK
解决低版本Xcode不支持高版本iOS真机调试的问题 Github上的iOS image下载地址 最新的iOS申请证书与发布流程
最新Unity打包ios包发布至App Store上架流程 开发证书和发布证书的区别以及更换方式(plist文件没有找到) 苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程
Unity3D研究院之IOS全自动打包生成ipa https://blog.csdn.net/visionTw/article/details/79618053 Unity3D打包生成xcode工程以及xcode工程真机调试
2017最新Unity打包ios包发布至App Store上架流程 iOS 开发者开发证书和发布证书的区别以及更换的方法