ios打包总结 (1)

Posted by Zxd on November 01, 2018

最近在做ios打包时遇到了很多坑,app是ts写的,并不是swift或者Ob-c,毕竟不是专业的ios开发,也没有用过Xcode打过包,然后各种踩坑,这里记录总结一下。

1. Apple developer账号

首先得用apple ID注册一个开发者账号,个人和公司账号都是99美元一年,注册步骤网上很多文章,可以搜一下,这里贴上注册等地址

  • apple developer
  • apple account
  • ps.注册账号会有一段审核时间,个人账号需要上传身份证等,如果一直没有通过审核, 可以给客服打电话咨询一下,审核速度会快很多哈。

1.1 iOS Certificates

certificates
imgs

  • ios Certificates分为两种类型
    • development Certificate(开发证书)
    • production Certificate(发布证书)
  • 证书: 证明证书拥有者拥有证书上所说的能力。一个证书涉及到颁发者、拥有者、证明拥有者拥有什么能力。
    • 颁发者: 自己
    • 拥有者: 安装证书的电脑
    • 证明能力: 此电脑可以安装或者打包某应用程序
1.11 添加证书

img
这里我们主要选择ios App Development或者App Store and Ad Hoc这两类。development证书适用于真机调试,而当我们需要打包成ipa给测试人员测试安装App时,就需要选择 Ad Hoc这一项。最后创建证书的时候需要一个CSR文件,下面我们来看怎么创建CSR。

1.12 创建CSR文件 (Certificate Signing Request)

img

  • 在Mac的应用程序中找到并打开钥匙串访问工具(keyAccess),选择从证书颁发机构请求证书

img

  • 这里输入一个邮箱,常用名称默认就行,CA电子邮箱可以不用填写,注意选择存储到磁盘。之后注意保存的位置,在创建证书的时候选择这个文件。

img

1.13 证书在Xcode工程中的位置

img

  • ps.这里我们选择了Automatically manage signing, 自动管理证书

1.2 App IDs

img
img

App ID

  • App ID就是一个App的身份证, 一个App的唯一标志,在project中叫做Bundle ID,Xcode中Bundle Identifier中填写这一唯一标志。
  • Bundle ID字符串最好保持reverse-DNS的格式,例如,app名字叫hello,公司的域名是github.com,那么bundle id就可以写 com.github.hello ,Bundle ID是大小写敏感的。
  • ps.上图中XC Wildcard 表示的是选择自动管理证书时,自动创建的app名字, ID是一个*通配符
1.21 添加App ID

img

  • App ID Description(ID描述)
    • 也就是给这个app取个名字
  • App ID Prefix(ID前缀)
    • 这里苹果为了更精确的表示APP ID的唯一性,使用了开发者账号的Team ID作为App ID的前缀。
  • App ID Suffix(ID后缀)
    • Explicit App ID (精确的ID) 我们大多数都是填写这一项, 直接填写Bundle ID
    • Wildcard App ID (通用的ID)

1.3 Devices

img
Devices就是我们用来测试的设备,iphone,pad等。我们需要获得待测试iphone或pad的udid

UDID

  • udid是ios设配的唯一识别码, 就像我们的身份证一样. 我们可以用Itunes连接iphone获取它的udid, 另外还有很多其他方式.
  • ps.每个开发者账号最多添加100台测试设备
1.31 使用itunes获取iphone的udid

img

  • 这里如果不是显示的UDID, 鼠标点击会切换, 多点几下就是了
1.32 使用蒲公英获取

网址: dandelion

img

1.4 iOS Provisioning Profiles (描述文件)

描述文件

  • Provisioning Profiles就是将CertificateApp IDDevices绑定在一起的配置文件, 看官方文档的说明如下, 我们按照步骤来创建一个用于发布测试的描述文件,

img

1.41 选择创建描述文件的类型

img

1.42 选择App ID

img

1.43 选择certificate 证书

img

1.44 选择要安装的设备(udid)

img

1.45 给文件命一个名字

img

1.46 下载保持到本地

img

帮助文档 help

2.在Xcode中打包ipa

经过创建Certificate创建App ID添加测试devices创建Provisioning Profiles这四个步骤后, 我们就可以在Xcode中为app配置打包了, 这里我是用ionic3结合angular5写的app, Android的打包配置比较简单, 配置好环境后几句命令行就ok, 大家可以自己去搜一下资料. 我主要介绍下ios的打包步骤, 见下一篇 : )

PS. Xcode删除证书文件 (Xcode 10)

control+空格 , 粘贴下面路径, 回车后删除里面文件夹

1
~/Library/MobileDevice/Provisioning Profiles

删除Archive文件

control+空格

1
~/Library/Developer/Xcode/Archives
  • control+.切换中英文标点