最近在做ios打包时遇到了很多坑,app是ts写的,并不是swift或者Ob-c,毕竟不是专业的ios开发,也没有用过Xcode打过包,然后各种踩坑,这里记录总结一下。
1. Apple developer账号
首先得用apple ID注册一个开发者账号,个人和公司账号都是99美元一年,注册步骤网上很多文章,可以搜一下,这里贴上注册等地址
- apple developer
- apple account
- ps.注册账号会有一段审核时间,个人账号需要上传身份证等,如果一直没有通过审核, 可以给客服打电话咨询一下,审核速度会快很多哈。
1.1 iOS Certificates
- ios Certificates分为两种类型
- development Certificate(开发证书)
- production Certificate(发布证书)
- 证书: 证明证书拥有者拥有证书上所说的能力。一个证书涉及到颁发者、拥有者、证明拥有者拥有什么能力。
- 颁发者: 自己
- 拥有者: 安装证书的电脑
- 证明能力: 此电脑可以安装或者打包某应用程序
1.11 添加证书
这里我们主要选择ios App Development或者App Store and Ad Hoc这两类。development证书适用于真机调试
,而当我们需要打包成ipa给测试人员测试安装App时
,就需要选择 Ad Hoc
这一项。最后创建证书的时候需要一个CSR文件,下面我们来看怎么创建CSR。
1.12 创建CSR文件 (Certificate Signing Request)
- 在Mac的
应用程序
中找到并打开钥匙串访问工具(keyAccess)
,选择从证书颁发机构请求证书
- 这里输入一个邮箱,常用名称默认就行,CA电子邮箱可以不用填写,注意选择
存储到磁盘
。之后注意保存的位置,在创建证书的时候选择这个文件。
1.13 证书在Xcode工程中的位置
- ps.这里我们选择了Automatically manage signing, 自动管理证书
1.2 App IDs
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
- App ID Description(ID描述)
- 也就是给这个app取个名字
- App ID Prefix(ID前缀)
- 这里苹果为了更精确的表示APP ID的唯一性,使用了开发者账号的
Team ID
作为App ID的前缀。
- 这里苹果为了更精确的表示APP ID的唯一性,使用了开发者账号的
- App ID Suffix(ID后缀)
Explicit App ID
(精确的ID) 我们大多数都是填写这一项, 直接填写Bundle ID
- Wildcard App ID (通用的ID)
1.3 Devices
Devices就是我们用来测试的设备,iphone,pad等。我们需要获得待测试iphone或pad的udid
。
UDID
- udid是ios设配的唯一识别码, 就像我们的身份证一样. 我们可以用Itunes连接iphone获取它的udid, 另外还有很多其他方式.
- ps.每个开发者账号最多添加
100
台测试设备
1.31 使用itunes获取iphone的udid
- 这里如果不是显示的
UDID
, 鼠标点击会切换, 多点几下就是了
1.32 使用蒲公英获取
网址: dandelion
1.4 iOS Provisioning Profiles (描述文件)
描述文件
- Provisioning Profiles就是将
Certificate
,App ID
与Devices
绑定在一起的配置文件, 看官方文档的说明如下, 我们按照步骤来创建一个用于发布测试的描述文件,
1.41 选择创建描述文件的类型
1.42 选择App ID
1.43 选择certificate 证书
1.44 选择要安装的设备(udid)
1.45 给文件命一个名字
1.46 下载保持到本地
帮助文档 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+.
切换中英文标点