Unity3D发布打包系列之(四)——IOS打包发布

首先,Unity打包IOS必须条件:ios

Unity3D下载了IOS平台
下载了XCode软件(必须是MacOS 系统)
在苹果开发者中心注册了开发者账号服务器


第一步:注册苹果开发者账号;app

Unity3D下载IOS平台和XCode下载就不介绍了,直接开始开发者账号申请
注意:账号是收费的,一个是我的版或者公司版,一个是企业版(了解到APPLE的政策是,要发布到APP STORE必须用99美圆的我的版或公司版Apple Developer Programs,要在非商店外下载只能使用299美圆的企业版iOS Developer Enterprise)ide

注册地址:https://developer.apple.com/membercenter/index.action
注册说明:https://developer.apple.com/cn/support/app-account/测试

注册前准备:ui

  • 2个邮箱(299美圆的必须是公司域名邮箱)
  • 邓白氏编码DUNS

注册流程:
注册APPLE ID → 注册邓白氏编码 → 获取邓白氏编码后继续验证APPLE ID的公司信息 → 等待APPLE官方审核资料 → 审核经过,缴费 → 收工 编码

关于邓白氏编码3d

  • 一个邓白氏编码能够注册多个APPLE 开发者帐号
  • 经过APPLE的连接申请邓白氏编码,基本上一周左右就可得到。其中邓白氏那边会打电话给你核实身份,而后发邮件给你要补充公司信息,这个公司信息到时候APPLE验证DUNS编码时会用到,两边最好一致,不然修改麻烦。
  • 新的邓白氏编码,请注意尝试次数不要超过3次,超过次数编码会被锁住,解锁及注册方面问题请找苹果客服

第二步:注册完成后调试

  1. 登陆开发者帐号
    Unity3D发布打包系列之(四)——IOS打包发布
  2. 下载开发者证书(开发者证书(分为开发和发布两种,类型为iOS Development,ios Distribution),这个是最基础的,不管是真机调试,仍是上传到appstore都是须要的,是一个基证书,用来证实本身开发者身份的)
    Unity3D发布打包系列之(四)——IOS打包发布

注意一下几点:code

  • appID,这是每个应用的独立标识,在设置项中能够配置该应用的权限,好比是否用到了PassBook,GameCenter,以及更常见的push服务,若是选中了push服务,那么就能够建立生成下面第3条所提到的推送证书,因此,在全部和推送相关的配置中,首先要作的就是先开通支持推送服务的appID;
  • 推送证书(分为开发和发布两种,类型分别为APNs Development ios,APNs Distribution ios),该证书在appID配置中建立生成,和开发者证书同样,安装到开发电脑上;
  • Provisioning Profiles,这个东西是颇有苹果特点的一个东西,我通常称之为PP文件,该文件将appID,开发者证书,硬件Device绑定到一起,在开发者中心配置好后能够添加到Xcode上,也能够直接在Xcode上链接开发者中心生成,真机调试时须要在PP文件中添加真机的udid;是真机调试和必架必备之珍品;
  • 日常咱们的制做流程通常都是按以上序列进行,先利用开发者账号登录开发者中心,建立开发者证书,appID,在appID中开通推送服务,在开通推送服务的选项下面建立推送证书(服务器端的推送证书见下文),以后在PP文件中绑定全部的证书id,添加调试真机等;


*CRS文件建立:
Unity3D发布打包系列之(四)——IOS打包发布
或者
Unity3D发布打包系列之(四)——IOS打包发布
进入
Unity3D发布打包系列之(四)——IOS打包发布
CRS文件已经生成好了

3.进入开发者设置界面
Unity3D发布打包系列之(四)——IOS打包发布
* certificates(证书)

选中All,接着点击右上角的加号,咱们先来建立开发者(真机调试)证书,提交证书和调试证书建立步骤几乎同样
Unity3D发布打包系列之(四)——IOS打包发布
这里咱们Development类型证书,(用于真机调试)。选中以后进入下一个页面:
Unity3D发布打包系列之(四)——IOS打包发布
这里会提示你选择建立好的CRS文件,选择上面建立好的CRS文件,点击continue提交,就生成证书
Unity3D发布打包系列之(四)——IOS打包发布
下载下来保存到你对应得文件夹就行了,暂且不要双击安装,后面会讲解安装证书和配置文件
注意:证书最好不要建立多个,不易于管理

* identifiers(App ID)

配置App的Bundle ID,就是和XCode中对应的那个Bundle ID, 点击左边的视图identifiers下面的App IDs
Unity3D发布打包系列之(四)——IOS打包发布
点击标记2,添加AppID,设置AppID名称
Unity3D发布打包系列之(四)——IOS打包发布
设置Bundle ID
Unity3D发布打包系列之(四)——IOS打包发布
生成Bundle ID 的设置
Unity3D发布打包系列之(四)——IOS打包发布
App ID建立好以后,不须要去动它,也会在后面用到

* Devices(设备ID)**

添加你要真机调试的设备ID
Unity3D发布打包系列之(四)——IOS打包发布
设置手机名称和UDID,UDID获取经过手机链接电脑,打开iTunes软件,点击序列号字母处,显示的就是UDID
Unity3D发布打包系列之(四)——IOS打包发布

* profiles(配置文件)**

配置证书的最后一步,生成profiles,这个profiles其实最终是安装到Xcode里的,它关联证书、App ID、和Device ID,把前三者结合起来,生成一个可安装的配置文件,用于Xcode进行真机调试,用于发布应用也同样,在进行App打包生成ipa文件时,也会去验证你的证书和profiles,这也是你可否打包成功的关键。
点击第四个模块(profiles)下面的All选项,建立profiles:
Unity3D发布打包系列之(四)——IOS打包发布
Unity3D发布打包系列之(四)——IOS打包发布
Unity3D发布打包系列之(四)——IOS打包发布
Unity3D发布打包系列之(四)——IOS打包发布
Unity3D发布打包系列之(四)——IOS打包发布
开发者证书的配置完成。

注意:最终配置完成后只需下载两个文件:一个就是第一个模块里面的开发者真机调试证书、而后就是第四个模块里的profiles文件,把这两个文件下载下来,保存好避免遗失,以便接下来在Xcode中配置和使用。(PS 放好这两个文件,记住他们的位置)


Run in Xcode

第三步:Unity打包;
切换到IOS平台,进行设置
Unity3D发布打包系列之(四)——IOS打包发布

  • Run in Xcode:选择你电脑上安装的Xcode版本,或者默认Latest version,默认是你电脑上 最新版本
  • Run in Xcode as:选择Debug或者Release版本;PS:和最后Xcode打包时选择保持一致

点击Player Settings ->Other settings 设置

  • 包名设置:和安卓设置方法同样,格式:com.公司名.工程名。PS:与苹果开发者注册时Bundle ID保持一致。
  • 设备型号设置:设置只能iPhone用仍是iPad用或者两个都能用,以及设备最低的系统版本设置
  • 设置其余你须要的设置
    Unity3D发布打包系列之(四)——IOS打包发布
    最后,点击Build进行打包,设置包文件夹名,保存


第四步:用你打包时候选的Xcode版本打开你刚才Build的包
其实,Xcode已经帮咱们作了不少配置,只须要咱们设置如下配置:
1.点击 Product->Scheme->Edit Scheme 或者进入下面界面,并点击Archive,确保Build Configuration 为 你在Unity中的选择保持一致
Unity3D发布打包系列之(四)——IOS打包发布
Unity3D发布打包系列之(四)——IOS打包发布

  • Display Name:设置你的App名字
  • Bundle Identifier:设置Build ID,来自你在注册苹果开发者账号时Bundle ID保持一致。而且与Unity保持一致
  • Version:App版本(与Unity设置保持一致)
  • Build:版本号(与Unity设置保持一致)

2.TARGETS->Identity->Team Team选择你注册时对应的App ID 账号。
Unity3D发布打包系列之(四)——IOS打包发布

PS:能够不用选择注册相应证书时对应的 Apple ID 账号,并且选择别的对应/非对应账号也都没问题。

3.TARGETS->Build Setting->Code Signing
Unity3D发布打包系列之(四)——IOS打包发布
基本不用设置,默认配置好的,若有须要可更改设置
其中下方的 Provisioning Profile 可使用默认的 Automatic,也能够指定对应的描述文件。(通常咱们使用Automatic)
注意:若是用USB将手机链接到电脑,手机端打开开发者模式,选择链接的手机,直接点击Xcode运行,就会打包到你链接的手机上,后续步骤可省略。




4.Archive设置;只能选择iOS Device,选择其余模拟器是不能Archive的
Unity3D发布打包系列之(四)——IOS打包发布
等会,Archive会弹出
Unity3D发布打包系列之(四)——IOS打包发布
5.Export 导出;点击上图中的“Export”,以下所示,很显然第一个选项是发布app的,不要点,那是我的开发者帐号能够干的事情。

Unity3D发布打包系列之(四)——IOS打包发布
上图四种选项:

  • Save for iOS App Store Deployment:保存到本地 准备上传App Store 或者在越狱的iOS设备上使用
  • Save for Ad Hoc Deployment:保存到本地 准备在帐号添加的可以使用设备上使用(具体为在开发者帐户下添加可用设备的udid),该app包是发布证书编译的(The app will be code signed with the distribution certificate.)
  • Save for Enterprise Deployment:这种主要针对企业级帐户下 准备本地服务器分发的app
  • Save for Development Deployment:针对内部测试使用,主要给开发者的设备(具体也为在开发者帐户下添加可用设备的udid)。该app包是开发证书编译的(The app will be code signed with your development certificate)

点击Next,继续,选择存放路径,继续
Unity3D发布打包系列之(四)——IOS打包发布
点击Next,IPA就打包成功了。


附:app须要使用手机的某些功能或者应用的时候,须要受权才能够访问,下面将展现一些info.plist上经常使用的一些受权。
Unity3D发布打包系列之(四)——IOS打包发布
bool类型是YES的,这个是容许访问http的网址

下面是以上受权的代码形式,能够直接拷贝到info.plist文件中:

<key>NSAppTransportSecurity</key> 
<dict> 
<key>NSAllowsArbitraryLoads</key> 
<true/> 
</dict> 
<key>NSContactsUsageDescription</key> 
<string>请求访问通信录</string> 
<key>NSMicrophoneUsageDescription</key> 
<string>请求访问麦克风</string> 
<key>NSPhotoLibraryUsageDescription</key> 
<string>请求访问相册</string> 
<key>NSCameraUsageDescription</key> 
<string>请求访问相机</string> 
<key>NSLocationAlwaysUsageDescription</key> 
<string>始终访问地理位置</string> 
<key>NSLocationWhenInUseUsageDescription</key> 
<string>在使用期间访问地理位置</string> 
<key>NSCalendarsUsageDescription</key> 
<string>请求访问日历</string> 
<key>NSRemindersUsageDescription</key> 
<string>请求访问注意事项</string> 
<key>NSBluetoothPeripheralUsageDescription</key> 
<string>请求访问蓝牙</string> 
<key>ITSAppUsesNonExemptEncryption</key><false/>

注:至于TestFlight测试和上线,后续再介绍。

相关文章
相关标签/搜索