XE6 & IOS开发之免证书真机调试(1):颁发属于自己的App签名证书(有图有真相)
http://www.cnblogs.com/weii/p/3934632.html
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容、傻瓜式的表达来告诉你想要的答案。
原创作品,请尊重作者劳动成果,转载请注明出处!!!
1.自己给自己颁发证书,用于给App签名。(如果还没有MAC环境,请参照"XE6移动开发环境搭建之IOS篇"进行配置。)
---------------------------------------------------------------
1.在虚拟机下,点一下桌面(星空图随便某个地方),在Finder中选择\'前往\',\'实用工具\'。
2.找到\'钥匙串访问\',双击打开。
3.打开后,明显看到现在是没有开发者证书的,既然没有,那我们就给自己颁发一个,我们点击左上角\'钥匙串访问\'。
4.选择\'证书助理\',\'创建证书\'。
5.我们填入证书名称:iPhone Developer,选择身份类型:自签名根证书,选择证书类型:代码签名,并钩上覆盖默认值。
这里要注意大小写和空格。然后点\'继续\'。
6.由于苹果的App需要用证书来签名,所以证书的来源就显得很重要了,相当于警察查房只看个人身份证一样,所以这里会弹出警告,无视之,我们点\'继续\'。
7.证书有效期,默认即可,我们点\'继续\'。
8.默认即可,这里电子邮件你可以填写你真实的Email地址,使证书更真实一点。我们点\'继续\'。
9.默认即可,我们点\'继续\'。
10.主要是用于程序签名,所以这里保证\'签名\'要钩上,我们点\'继续\'。
11.这里要保证把\'代码签名\'钩上。我们点\'继续\'。
12.默认即可,我们点\'继续\'。
13.默认即可。当然你也可以填一下,让证书更真实。我们点\'继续\'。
14.默认即可,配置完证书了,我们点\'创建\'。
15.点击\'完成\'。
16.这里的列表就多了一项证书。
17.点左上角\'钥匙串访问\',\'退出钥匙串访问\'。
2.修改Xcode配置文件。
注意:根据本人反复测试,发现第18-35步并不是必须的,涉及Xcode的修改只影响通过Xcode新建项目的真机单步调试。
由于XE6是通过Command Line 连接MAC编译App的,因此跳过了Xcode的自动签名这个过程,
所以,我们有理由相信,在XE6连接MAC编译的情况下,我们只需要完成以上的17个步骤即可以自签名的方式将App运行于真机上。
---------------------------------------------------------------
18.在虚拟机下,点一下桌面(星空图随便某个地方),在Finder中选择\'前往\',\'应用程序\'。
19.找到\'Xcode\',鼠标右键点击,选择\'显示包内容\'。
20.双击进入\'Contents\'。
21.双击\'Developer\'。
22.双击\'Platforms\'。
23.双击\'iPhoneOS.platform\'。
24.鼠标右键点击\'Info.plist\',选择\'打开方式\',选择\'Xcode\'。
25.找到3处\'XCiPhoneOSCodeSignContext\',双击他们的值,统一修改为:\'XCCodeSignContext\'。
26.在空白处鼠标右键点击,选择\'Add Row\'。添加一个新项:PROVISIONING_PROFILE_ALLOWED,值为:NO
27.继续在空白处鼠标右键点击,选择\'Add Row\'。继续添加一个新项:PROVISIONING_PROFILE_REQUIRED,值为:NO
28.点击左上角\'Xcode\',选择\'Quit Xcode\'。
29.关闭Xcode后,我们继续在当前文件夹中,双击\'Developer\'。
30.双击\'SDKs\'。
31.双击\'iPhoneOS6.1.sdk\',当然了,这里可选择自己需要的SDK版本,因为我这里只安装了6.1。
32.鼠标右键点击\'SDKSettings.plist\',选择\'打开方式\',选择\'Xcode\'。细心的观众会发现,Xcode也是一个文件编辑工具哦。
33.找到2处\'CODE_SIGNING_REGUIRED\',双击它们的值,将\'YES\'修改为\'NO\'。
34.点击左上角\'Xcode\',选择\'Quit Xcode\'。
35.关闭掉Xcode后,同样我们也将此窗口关闭,点击左上角的红色叉叉。
至此,Xcode修改已完成。
如果需要用Xcode建项目真机调试,这只完成了Xcode修改的第1步,
还有第2步: 给Xcode打上二进制补丁(Xcode4以后不需要),
还有第3步:用脚本文件去阻止Xcode用默认方式签名,
以及第4步:修改每一个Xcode工程文件的签名方式,设置为不签名。
本人认为以上都不需要在XE6里实现,所以不在此讨论,实际情况请各位多测试,如有异议,请将最新结果告知本人。
下一篇,我们将在真机上运行XE6的App。
PS:
---------------------------------------------------------------
FireMonkey移动开发可加QQ群:165232328 (本人非管理员,仅仅其中一成员,此群高手林立,期待各位Delphi爱好者共同交流)。