进行以下操作时, 请务必使用Safari浏览器
1. 开发者账号
首先需要购买一个开发者账号AppID. 打开链接https://developer.apple.com/programs/which-program/, 有四类AppID可供选择:
- iOS Developer Program Individual: 个人账号, 99美元/年
- iOS Developer Program Company: 公司账号, 99美元/年
- iOS Developer Enterprise Program: 企业账号, 299美元/年
- iOS Developer University Program: 学校账号, 0美元/年
个人账号与公司账号几乎没有任何区别, 仅仅是在AppStore显示的发布者信息不同. 申请账号时需要一张能在AppStore上使用的信用卡, 最终程序可以在指定设备或AppStore上发布;
企业账号申请时貌似有些麻烦, 没试过. 最终程序不能在AppStore上发布, 但是可以自己架设服务器, 任何Apple设备都能从服务器上下载并安装程序;
学校账号没试过;
同一个AppID不能同时属于两类或多类账号, 如果需要多类账号, 请另建一个AppID.
2. 获取证书
使用AppID登陆https://developer.apple.com/devcenter/ios/index.action, 依次进入"Certificates, Identifiers & Profiles", "iOS Apps Certificates", 这时可以看到管理页面, 左侧有4大类管理项:
Certificates证书
创建证书时, 需要从Mac电脑上生成一份秘钥(certSigningRequest文件), 使用秘钥可以创建出两大类证书Development和Production, 具体的可选证书, 还会受到开发者账号的类型影响.
iOS App Development, 这是最普通的开发者证书, 使用它可以联机调试
App Store and Ad Hoc, 个人账号或公司账号时才有此选项, 程序可以发布到AppStore中, 也可以使用Ad Hoc的形式挂到自己的服务器上, 被指定的设备可以从服务器下载,安装,使用它
In House, 开发者账号是企业账号时才有此选项, 程序可以挂到自己的服务器上, 任何设备都可以下载,安装,使用它
其他的还没有试过
Identifiers程序标识
这里添加程序的bundleID, 它是与Xcode中的bundleID呼应的, 但并不是自动创建的. 有两种创建方法:
Explicit App ID: 指定的AppID, 形式是com.xxx.yyy
Wildcard App ID: 指定的一组AppID, 形式是com.xxx.*, 或者com.*, 或者*. 想一想SQL语法的通配符, 这里的*就是这个意思
Devices测试设备
上面有时会提到"指定设备", 就是在这里, 只有在这里注册过的设备, 才能使用Development证书来联机调试.
个人账号或企业账号时, 注意最多只能注册100个设备, 并且注册过的无法删除.
企业账号时, 可以无视这一项, 因为企业账号可以在任何设备上调试
Provisioning Profiles关联文件
Certificates是安装在Mac电脑上的, Identifiers和Devices仅仅是网站上的注册数据, 而Provisioning Profiles(简称PP文件)是安装在手机上的.
自己亲手创建一个PP文件, 就能理解它的作用了. PP文件将证书,程序,可用的测试设备这三个信息绑定起来, 在进行联机调试时需要指定某个PP文件, Xcode会自己检索这三个信息, 只有完全正确才允许真机调试.
3. 发布应用
使用AppID登陆https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa, 设置应用程序相关信息, 然后使用Xcode上传, 或者使用Application Loader上传程序到AppStore, 程序位于"Xcode.app -- Contents -- Applications"目录下.