在项目进行了一段时间后,如果中途加入新的iOS设备,来直接在Xcode中编译版本,是一件很折磨人的事情。根据自己网上搜索以及一步步尝试,现在将具体步骤整理一下。 第一步,先添加要参加直接编译的设备UDID到AppleDeveloper的网站上; 第二步,根据网上第一次设置真机测试版本的教程,重新创建一遍新的Certificate文件,同时将旧的iphonedeveloper证书删除干净,记住,一定要将创建新证书的流程完成,因为新的证书,才包含了新加入的设备,才能在设备连接Xcode的时候进行识别; 第三步,在AppleDeveloper的Provisioning栏页面上,可以看到真机测试使用的Team证书,状态为Invalid(ManagedbyXcode),这个时候,去Xcode的Organizer,选中这个Teamprovisioning,点击右下角的刷新按钮,会自动生成一个新的有效的Teamprovisioning,同时,网页上的Teamprovisioning刷新后状态也变成了Active。 第四步,将新的Teamprovisioning,拖入连接好的新设备中,即可进行直接打版本的编译。 注意的是,进行这些操作后,也许编译程序会报错,提示有两个证书存在。但钥匙串中的多余证书明明已经删除了,这时候,需要将Xcode完全关闭,保持钥匙串打开,然后再打开Xcode,此时会发现删除掉的证书又回来了,这时候再次进行删除,即可保证程序编译通过! 证书一件很折腾人的事情,大家保持耐心,多搜搜stackoverflow,同时自己也大胆多尝试一下,相信都能解决这个问题。 补充:如果开发者更换了开发的Mac,先在本地机器的钥匙串中请求一个证书请求的文件,然后在appledevelop网页上,重新生成一个adhoc或者appstore发布的distribution的证书,然后更换本地已有的distribution证书即可。 作者:hc1985313