PS:关于证书选项呈灰色的情况,因为苹果的开发者中心改版,很多人遇到这个问题,本来放在文中的,现在提到前面来
如果出现ios development一项为灰色不可点击状态,苹果的说法是
苹果不希望你的开发者账号里出现多台Mac的证书,如果在其他mac上已经添加过证书的话,就直接通过P12导出(导出方法见下文)后给当前的Mac使用即可,或者删除之前的证书后再添加
目录:
- 一、真机调试所需材料说明
- 二、开始申请
- 三、添加App ID
- 四、添加设备(Devices)
- 五、添加证书(Certificates)
- 六、添加描述文件(Provisioning Profiles)
- 七、配置XCode
- 八、P12导出证书
-
- 一、真机调试所需材料说明
-
在申请真机调试证书之前,先对苹果真机调试所需的文件进行说明:
苹果真机调试需要证书(Certificates)和描述文件(Provisoning Profiles)
1、证书(Certificates) 通过苹果自带的钥匙串生成后上传到Developer中再生成来完成
2、描述文件(Provisoning Profiles) 生成描述文件时需要选择App ID(包含Bundle,必须与你程序的bundle保持一致,为了能同时调试多个程序,一般bundle填写时末尾用*号代替,后文会具体说明)选择证书(Certificates)及设备(Devices)三样东西
真机测试必要条件:App ID,证书,描述文件,设备,及调试程序的Bundle Identifier保持一致
二、开始申请 “开发证书”
打开iOS Dev Center,选择Sign in,登陆(至少99美元账号),
选择:Certificates, Identifiers & Profiles
选择:Certificates
选择:Development,点击”+“
可以创建一个证书,详细步骤请参照 ”申请证书“,在这里就不在重复了
一般说我们开发ios应用,必须有两个证书,”开发证书“、”发布证书“,在电脑上生成了一次这两个证书以后,不需要每一次都添加证书,所以添加证书的步骤在这里不在重新叙述。
如果你在开发者网站已经申请不了证书了,可以选择导出p12文件,请参照“导出P12”文件
三、添加App ID
选择 “Identifiers”的 “App IDs”,点击“+”, 开始添加
出现以下界面:
-
App ID Description 是一个App ID的描述,就是一个名字,这个名字可以随便取
-
App ID Prefix 苹果已经帮我们填了,不需要我们填,可以看出,它是一个团队的ID
下一步,选择 App ID Suffix
App ID Suffix 有两个选项:
-
Explicit App ID :顾名思义,这里要填一个明确的 App ID,
什么意思呢?可以这么来解释:我们做项目时的Bundle Identifier (Bundle ID)是用来标示我们的app的。我们的App ID也是用来标示我们的app的。这两个有什么联系呢?Explicit App ID 就是要我们确定一个唯一的 Bundle ID,用来标示我们的 app,使它有一个固定的身份。可以发现,当提交应用到苹果时,如果我们一开始没写 Explicit App ID,苹果会自动帮我们生成一个与我们发布时填的一样的 Bundle ID 到我们的 App ID中。
填写 Explicit App ID 的格式为:com.company.appName
-
Wildcard App ID:顾名思义,这里要填一个通配符的 App ID 。意思就是,我们只需要填一个在所有应用都能试用的 App ID 就好了。
填写 Wildcard App ID 的格式为:com.company.*
申请真机调试的时候,不是为了某一个应用去调试,而是为了所有的应用去调试,必须能适应每一个app,所以我们选择 Wildcard App ID。
com.company.* 的company 一般写公司的名字,也可以按需要写
可以发现,选择 Explicit App ID 会比 Wildcard App ID 多几个服务选项可以选,不过我们是真机调试,所以无所谓,将能选的勾上,选择“Continue”就好。
看到如下界面,点击“Submit”后就可以生成App ID了
-
{App ID由用.符号分开的两部分组成,在默认情况下,App ID的前缀为你的团队ID,后缀被定义为一个bundle ID的搜索字符串,AppID的每一个部分对你的应用程序都有不同而且很重要的用途
- App ID Description:这部分只是你ID的一个代号,只需填写一个自己能分辨的名称即可,在后面申请证书和描述文件中会涉及到选择项
- App ID Prefix:这部分是Team ID,系统默认,无需填写
- App ID Suffix:这部分是App ID后缀,可选择Explicit App ID或者Wildcard App ID
3.1、Explicit App ID
Explicit App ID:如果你打算将应用程序中加入Game Center,或在应用中使用应用内购买,进行数据保护,使用iCloud,或者想要给你的应用程序一个唯一的配置文件,你就必须申请Explicit App ID。
要创建Explicit App ID,在下面的框中输入一个唯一的字符串,这个字符串必须与你的应用程序的Bundle ID匹配,苹果推荐使用 com.你的公司名称.app名称 作为你的Bundle ID,如果是选择Explicit App ID,Bundle ID中 不能含有*号
3.2、Wildcard App ID:通用App ID,只需使用com.oschina.*的格式即可匹配多个应用,本文以通用型为例
Wildcard App ID:可以让你用一个App ID来匹配多个App,想要创建一个通用App ID,在输入Bundle ID末尾使用*号
4、App Services:应用程序提供的服务
App Services:选择你应用中将会使用的服务,在App ID注册成功之后也可再次编辑你的选择
在自己应用中所使用到的选项上打√,因为我选择的是通用型(WildCard),所以Game Center,In-App Purchase, Push Notifications都是不可选的,如果要使用这些功能,请选择精确型(Explicit)
5、确认信息,确认之后选择Submit,出现Registration complete.的字样,Done。}
四、添加设备(Devices)
如图,点击“+”,一个99美元账号只能申请100个设备。
Name 自己取一个设备的名字,UDID约等于设备的身份证,可以在xcode中查看
查看UDID
打开xcode,选择“Windows” 的“organizer”:
选择设备看到 “identifier”,这个就是我们设备的 UDID,将其复制,可以填入上上图显示的 UDID中。
当你的机子第一次用于开发时,可以看到,显示的灯是“灰色”的,可以点击“use for developer” 来作为开发机。点击了“use for developer”后,可以发现你的灯变成了黄色的了。
如果一个手机本来就是开发机(一个手机可以安装多个开发用的描述文件)或者越狱的手机,那么它刚插进去就是绿灯。但是绿灯并不代表就能用,必须安装相适应的描述文件。如图就是一个没有安装相应描述文件的开发机。
填好 name 和 UDID后,点击continue 就可以看到如下界面,点击“Register”就可以在苹果上登记了。
{1、将设备连上电脑,打开在XCode的Organizer->Devices中
Xcode5以下的Organizer在软件右上角即可找到,XCode5的Organizer选择Window->Organizer(快捷键shift+command+2)
设备连接上XCode之后Devices中的信号灯有灰色,黄色,绿色三种情况1.1、灰色灯
如果设备是之前未作为开发机,在Devices中设备上的灯应该为灰色,在右侧有选项将设备作为开发机,点击即可,由于没有新机,无法截图演示
1.2、黄灯,有两种情况
- 设备未连接好,请将连接线重新插一次,并检查接口是否插紧,如果还是黄灯,则未下一种情况
- 设备版本高于XCode所能支持的版本,如XCode4.6.3,能支持的最高版本未iOS6.1,如果你的设备未iOS7及以上,此时需要更新至XCode5
1.3、绿灯:说明连接成功,可进行调试
2、UDID,通过itunes和Xcode都可以看到设备的UDID
- 在itunes中,连上设备之后,有一项“ECID”,单击,即可以查看到UDID。
- 在Xcode的organizer中选中设备“Identifier”一栏即为UDID。
3、回到苹果开发者中心,选择Devices 右侧栏的添加按钮,方法与添加App ID相同
下面还可以选择添加多台设备,本人表示智商不够,不会,99美元账号可以添加100台设备,299美元的账号本人不晓得。。
Tips:设备添加后当年不可删除,如果要删除必须要在次年续费时进行删除。}
/*** 五、添加证书(Certificates)
1、选择Certificates->development,添加证书
2. 申请证书
2.1. 打开电脑中的钥匙串:选择LaunchPad->其他->钥匙串访问
2.2. 选择钥匙串访问->证书助理->从证书颁发机构请求证书
2.3. 填写邮件地址和名称,点击继续存储,一般存储在桌面(根据个人喜好)
2.4. 回到developer的界面,选择Continue,出现上传证书界面
2.5. 选择Choose File上传刚才存储的证书,然后选择Generate.
2.6. 生成之后会出现可以Download的证书,选择下载,双击安装即可***/
六、添加描述文件(Provisioning Profiles)
如图点击 “+”
选择 “iOS App Developer”,然后“Continue”
这里选择我们刚刚生成的 App ID,选好后,点击“Continue”
这里选择一个开发证书,有两点要注意:
-
这个证书是我们刚刚自己在本机(当前电脑)与苹果开发者网站生成的 开发证书 “Development certificate”
-
如果不是刚生成的,这个证书必须在本地的mac的钥匙串中存在(带密钥的证书,不带密钥的依然无效)
如果不想自己在重新生成证书,用别人生成的证书,可以从别人的电脑中导出p12文件,可以参考:如何导出p12文件
选好证书以后,点击“Continue”
选择设备,设备可以选择全部设备,也可以按需选择你需要的设备:
这里给我们的描述文件取一个名字,这个名字在以后的xcode中是看得到的,所以可以取一个好辨认的名字。取好名字后,选择“Generate”生成描述文件。
生成好描述文件后,选择“Download”,双击进行安装(安装后在xcode中可以查看)
-
安装成功后,以前没作为开发机的手机会变成绿色的(以前就是开发机和越狱的手机一直是绿色的,但是不重新申请符合证书的真机调试任然是不能真机调试的)
-
点击“Provisioning Profiles” 看到 “Valid profile” 就是成功安装的意思。
如果没有安装成功,一般是证书或者描述文件的问题,看看证书是不是从自己的机子上生成的,描述文件的配置信息(是否和你的本机存在的带秘钥的证书相匹配,你添加的设备是否包含你现在选择调试的设备)等,如图第一个警告是因为没有证书与描述文件相匹配出现的
配置好后,还不是绿灯,则考虑问题:
-
设备版本高于XCode所能支持的版本,如XCode4.6.3,能支持的最高版本未iOS6.1,如果你的设备系统大于等于iOS7以上,此时需要 更新至XCode5; 再如:XCode5 不支持ios7.1,如果想开发ios7.1,必须将xcode5 升级到 xcode5.1以上版本;
例如:
在真机调试时,不要忘记设置这两个,否则调试失败:
这个必须填:之前写Wildcard App ID 的内容. app的名字
设置好这两个之后再点击运行。
{- 选择Provisioning Profiles->Development,然后选择右侧添加键添加
- Select Type -> 选择iOS App Development -> 选择Continue
- 选择App ID,选择之前添加的com.oschina.*,选择Continue
- 选择证书,选择刚才生成的开发证书,然后选择Continue
- 选择设备,会出现设备列表,一般来说把所有设备都添加进去,方便多台设备调试,不用再申请profile,选择Continue
- 为这个profile命名,不可含有标点,选择Generate
- 选择下载,双击安装即可 }
七、配置XCode
- 打开XCode,插上设备,如果XCode不显示设备,而是iOS Device的状态,则检查Targets->iOS Application Target->Deployment Target中的版本是否与设备版本不匹配
- 选择上图中Build Settings,将Code Signing中的profile设置成刚才下载的Provisoning Profile,也可设置成Automatic profile中的iPhone Developer,XCode将会自动匹配描述文件
- 检查Bundle ID是否与描述文件所包含的App ID中的Bundle匹配,选择TARGETS->Summary查看,由于我们申请的是通用型App ID,所以Bundle Identifier只需要是com.oschina.打头即可,后面可以随意填写
八、P12导出证书
在钥匙串中找到登录选项中得iPhone Developer一项,右键选择导出,证书类型选择“个人信息交换(.p12),并将创建的provision profile文件和证书一起拷贝到别的mac上双击安装就可使用了
PS:如果设备为越狱设备,不管provision profile里有没有包含你得设备,都是可以真机调试的,如果不想花费99美元的话,可以在淘宝上买一个证书,或者是找亲朋好友索要他们的P12证书吧,祝大家好运!
-