一款App在别人的机器上开发和发布,如今迭代更新和开发须要在一台新mac机上开发和发布。(使用同一个开发者帐号)
问题:
1.在新mac机器上开发并导入真机测试,是否是须要从别人的机器上面导处开发者证书、开发者受权文件和开发密钥导入到新mac机器上才能开发?
2.程序迭代开发完成,App上传苹果应用商店的时候是否是还须要用老机器发布才能够才能保证App更新?能不能从老机器上面把发布证书导入到新机器上,用新机器发布App?
解决方案:
App开发和发布过程当中证书基础知识:
1. Certification(证书)
证书是对电脑开发资格的认证,每一个开发者账号有一套,分为两种:
1) Developer Certification(开发证书)
安装在电脑上提供权限:开发人员经过设备进行真机测试。
能够生成副本供多台电脑安装;
2) Distribution Certification(发布证书)
安装在电脑上提供发布iOS程序的权限:开发人员能够制作测试版和发布版的程序。
不可生成副本,仅有配置该证书的电脑才可以使用;(副本制作介绍在下面Keychain中介绍)
2. Provisioning Profile(受权文件)
受权文件是对设备如iPod Touch、iPad、iPhone的受权,文件内记录的是设备的UDID和程序的App Id,即便被受权的设备能够安装或调试Bundle identifier与受权文件中记录的App Id对应的程序。
开发者账号在建立受权文件时候会选择App Id,(开发者账号下App Id中添加,单选)和UDID(开发者账号下Devices中添加最多100个,多选)。
受权文件分为两种,对应相应的证书使用:
1) Developer Provisioning Profile(开发受权文件)
在装有开发证书或副本的电脑上使用,开发人员选择该受权文件经过电脑将程序安装到受权文件记录的设备中,便可进行真机测试。
注意:确保电脑有权限真机调试,即安装了开发证书或副本;在开发工具中程序的Bundle identifier和选中使用的受权文件的App Id要一致;链接调试的设备的UDID在选中的受权文件中有记录。
2) Distribution Provisioning Profile(发布受权文件)
在装有发布证书的电脑上(即配置证书的电脑,只有一台)制作测试版和发布版的程序。
发布版就是发布到App Store上的程序文件,开发者账号建立受权文件时选择store选项,选择App Id,无需选择UDID;
测试版就是在发布以前交给测试人员可同步到设备上的程序文件,开发者账号建立受权文件时选择AdHoc,选择App Id和UDID;只有选中的UDID对应的设备才可能安装上经过该受权文件制作的程序。
3. Keychain(开发密钥)
安 装证书成功的状况下证书下都会生成Keychain,上面提到的证书副本就是经过配置证书的电脑导出Keychain(就是.p12文件)安装到其余机子 上,让其余机子获得证书对应的权限。Developer Certification就能够制作副本Keychain分发到其余电脑上安装,使其能够进行真机测试。
注意:Distribution Certification只有配置证书的电脑才可以使用,所以即便导出导出Keychain安装到其余电脑上,其余电脑也不可能具备证书的权限。
上面的证书基础知识能够看到开发者证书能够导入到新电脑上用于开发和真机测试,发布证书不能够导入新电脑用于App发布。因此问题出现了那之后版本迭代更新怎么办?
针对问题1:经过导入开发者证书、密钥和开发受权文件(导入测试机)能够实现用新的电脑在真机上开发和测试,其实这个方法解决的问题应该是如何在不想让别人知道本身开发者帐号的前提下让多台mac机同时能够开发在真机上测试的App;假设如今你知道开发者帐号密码你彻底能够经过你的开发者帐号在本身机器上从新生成开发者证书、开发密钥,而后经过你信生成的开发者证书和开发受权文件进行真机开发测试。
针对问题2:不能经过导入发布证书的方式在新电脑上更新迭代App;那怎样才能在新mac机上面进行迭代的App发布那,难道必须只能在老机器上面进行迭代发布吗?毫无疑问确定是能够在新机器上进行迭代APP的发布的,这中间涉及到苹果App商店的升级机制:针对同一个开发帐号下面同一个App只要版本号比当前版本号大都会自动提示用户有新版本。因此你能够在你新mac电脑上面重新建立一个发布证书,经过这个发布证书进行发布。ide