1、创建 ios 项目

  1、用 cordova 创建一个 ios 项目


npm install -g cordova



  



cordova create hello com.mydomain.hello HelloWorld



  hello : 文件名称

com.mydomain.hello : bundle identifier/bundle id 

  HelloWorld :名字

 



cd hello
cordova platform add ios



  

  2、打开生成的xcodeproj工程,工程文件位置:hello/platform/ios/

  

 

  2、在 apple 的开发者网站上面获取证书并且配置appid和描述文件

  1、证书

  作用:为了确定安装在 app 上的 app 都是经过 apple 官网认证的,于是需要对应用签名。

  创建及其验证原理:

  

IOS打包 unity iOS打包一个测试包_服务器

  1、在 mac 上面生成一对公私钥CSR。公钥M、私钥M

  2、在 apple 中也有一对公私钥。私钥A在 apple 服务器端 、公钥A在 apple 的用户端

  3、用公私钥CSR的公钥M,去 apple 服务器端请求一个证书CA( 私钥A 对 公钥M签名HASH 和 公钥M)

  4、开发完成之后,用公私钥CSR的私钥M对 app 进行签名,同时把证书 CA 一起打包到 app 中

  5、安装到 apple 的时候,首先用 apple 中的 公钥A 对证书CA的HASH 进行验签。证明 公钥M 有效,

  6、公钥M 有效,在用 公钥M 对 app的签名验签

 

  2、appid 、描述文件

  

   

IOS打包 unity iOS打包一个测试包_IOS打包 unity_02

  我们不仅可以获取证书,也可以在 apple 服务器上面配置描述文件,且下载下来。

  1、在 apple 服务器上面配置描述文件

    a、配置 appId ( name、bundle id、service )

    b、配置证书

    c、配置可用设备

  2、在 apple 服务器 私钥A 对公钥M签名对时候,添加这些数据。

  3、在安装到 apple 的时候,我们可以做一些验证。

  

  因为信息太多了,所以 apple 会将这些信息( appid、证书、设置ID) 等所有信息,都生成一个 provisioning profile 供我们下载,配置。

 

  3、结构梳理(所有证书/密钥生成后)

  Mac本地:私钥M、证书。(私钥M对APP签名、证书用于打包到APP)

  apple服务端:私钥A、证书。(私钥A没用了、证书用于Mac下载)

  apple用户端:公钥A。(用于验签,得到证书数据<公钥M、appid、设备..>)

 

  4、具体步骤

  

  总上面的两种获取所诉,我们总结步骤如下:

  1、Mac 上面生成公私钥

  

IOS打包 unity iOS打包一个测试包_服务器_03

  打开钥匙串

 

  

IOS打包 unity iOS打包一个测试包_描述文件_04

  请求证书,这里就是生成公私钥的位置,我们请求生成公私钥

 

  

IOS打包 unity iOS打包一个测试包_描述文件_05

  添加这两项,点击下一步

 

  

IOS打包 unity iOS打包一个测试包_ios_06

  这里生成了公私钥,并且保存在了我们的钥匙串中,并且生成一个 CSR 文件在桌面

  以供我们可以到 apple 服务器上面去获取证书。

 

  

IOS打包 unity iOS打包一个测试包_服务器_07

  这里会现实公私钥,对应创建的名称

 

  2、获取证书

    登陆到 apple 开发者官网上面 https://developer.apple.com

  这里需要认证后到开发者账号在能一下操作。

  

IOS打包 unity iOS打包一个测试包_IOS打包 unity_08

  添加一个证书

  

IOS打包 unity iOS打包一个测试包_IOS打包 unity_09

  这里我们选择测试,如果需要 push 服务,就选择测试第二个,不需要就是第一个。

  点击下一个

 

  

IOS打包 unity iOS打包一个测试包_服务器_10

  这里选择刚刚生成的 Mac 生成在桌面的文件 CSR 公私钥文件(证书请求文件)。

  点击下一步

 

  

IOS打包 unity iOS打包一个测试包_IOS打包 unity_11

  下载证书。

 

  3、安装证书(关联证书和公私钥)

  安装证书到我们 mac 上面,确保 app 在打包到时候,打包到对应到应用中。

  

      

IOS打包 unity iOS打包一个测试包_IOS打包 unity_12

  右键登陆,点击添加钥匙串

  将证书选中添加即可。

  

IOS打包 unity iOS打包一个测试包_服务器_13

  添加成功后的样子。

 

  

  4、添加 appID

  创建一个应用(添加一个 appid 以供创建描述文件,配置描述文件)

  

IOS打包 unity iOS打包一个测试包_IOS打包 unity_14

  

IOS打包 unity iOS打包一个测试包_ios_15

  填写完成之后就创建了一个 app

 

  5、创建设备

  只有添加了的设备在能安装 app

  

IOS打包 unity iOS打包一个测试包_描述文件_16

 

  

IOS打包 unity iOS打包一个测试包_ios_17

  填写两项,添加即可

 

  

  6、对数据(appid/设备/证书等)签名

  用 apple 服务器端的 私钥A 对数据签名生成 provisioning profile 文件

  

IOS打包 unity iOS打包一个测试包_描述文件_18

  

IOS打包 unity iOS打包一个测试包_服务器_19

 

  

IOS打包 unity iOS打包一个测试包_服务器_20

  三种:测试机上面、app store、还用就是只能在设备列表中用户安装

  

  

IOS打包 unity iOS打包一个测试包_描述文件_21

  选择 appid

 

  

IOS打包 unity iOS打包一个测试包_IOS打包 unity_22

  选择证书

 

  

IOS打包 unity iOS打包一个测试包_ios_23

  选择用户名单

 

  

IOS打包 unity iOS打包一个测试包_IOS打包 unity_24

   文件名称

 

  

IOS打包 unity iOS打包一个测试包_服务器_25

  最后下载,得到描述文件( .mobileprovision )

 

  7、导出私钥M供其他人打包。

  多人多设备开发到时候,需要同一个 私钥M、证书

  证书:可以在服务器上面下载

  私钥M:需手动导出,并且在自己Mac添加到钥匙串中

 

  

IOS打包 unity iOS打包一个测试包_描述文件_26

  

IOS打包 unity iOS打包一个测试包_服务器_27

  选择 .p12 ,导出私钥文件

  然后将文件发给其他人员。

  添加到钥匙串中。

  既可以操作该项目。

 

 3、xcode 打包测试 ipa 包文件 

 

IOS打包 unity iOS打包一个测试包_IOS打包 unity_28

IOS打包 unity iOS打包一个测试包_服务器_29

 

IOS打包 unity iOS打包一个测试包_ios_30

  导入 provisioning profile 文件

  测试到导入测试到 profile文件

  release 导入app store 的 profile 文件

 

   

IOS打包 unity iOS打包一个测试包_服务器_31

  

IOS打包 unity iOS打包一个测试包_ios_32

  设置为 release

 

  

IOS打包 unity iOS打包一个测试包_IOS打包 unity_33

  设置为打包项目

 

  

IOS打包 unity iOS打包一个测试包_服务器_34

  打包项目

 

  

IOS打包 unity iOS打包一个测试包_IOS打包 unity_35

 

  

IOS打包 unity iOS打包一个测试包_ios_36

 

  

IOS打包 unity iOS打包一个测试包_描述文件_37

  选择设备类型

 

  

IOS打包 unity iOS打包一个测试包_ios_38

  设置证书和 profile 文件

 

  完成之后 export 导出就得到对应的文件

  

IOS打包 unity iOS打包一个测试包_ios_39

 

  4、ipa安装及其真机测试

  

  基于 itools 安装 ipa 文件。

  1、下载 itools ,自行下载

  2、链接设备 iphone ,数据线链接PC端

  

IOS打包 unity iOS打包一个测试包_ios_40

  3、安装 ipa 文件

  

IOS打包 unity iOS打包一个测试包_IOS打包 unity_41

  4、等待安装完成即可