网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容、傻瓜式的表达来告诉你想要的答案。
原创作品,请尊重作者劳动成果,转载请注明出处!!!
注意,以下讨论都是以"合法注册开发者账号并支付年费"为前提,利用无证书生成iPA的小朋友请无视本文:
真机调试的开发测试环境:
RAD平台:XE7
MAC平台:OSX10.8.5
Xcode版本:Xcode5.1.1
设备:iPhone 4 ios6.1
特别注意:
1. 本文图片较多,请于较好的网络环境下观看,以免影响用户体验并浪费流量,引起骂爹骂娘的连锁反应。
2. 如果你的MAC平台曾作过无证书真机调试,生成过自签名证书及修改过Xcode的,请删除相应证书并还原Xcode设置。
3. 如果你的Xcode版本低于Xcode5或以下(如Xcode4.x),请无视本文,并点击下面链接,参考Xcode通用版本的做法:
XE7 & IOS开发之开发账号(1):开发证书、AppID、设备、开发授权profile的申请使用,附Debug真机调试演示(XCode所有版本通用,有图有真相)
1.利用Xcode5或以上版本的新特性,一步到位添加设备并自动生成证书、AppID、Profile。
---------------------------------------------------------------
1.点一下桌面,'Finder'->'前往'->'应用程序'。
2.找到Xcode,双击运行。
3.Xcode打开后,点左上角菜单'Xcode',点'Preferences'。
4.在打开的窗口中,点'Accounts',切换到账号页,然后点下面的'+'号,在弹出菜单中点击'Add Apple ID'。
5.在弹出的对话框中,填入你的苹果开发者账号和密码。填完后,点击'Add'。
6.假如账号密码正确的话,Xcode会将账号添加到账号列表,点击左侧的账号,可列出该账号的开发授权,如iOS Agent表示可开发iOS的App。
我们点击左上角的叉叉,关闭该窗口。
7.继续,同样在Xcode下,点击'Window'->'Organizer'。
8.点击'Devices',切换到设备页,并将真机设备连接到MAC中。
9.右键点设备,在弹出菜单中选择'Add Device to Member Center',或者选中该设备后,直接点下面的'+'号也行。
10.在弹出的对话框中,钩选一个开发组,点击'Choose'。
11.完成后,我们继续左上角的菜单点击'Xcode',点击'Preferences'。
12.点一下'Accounts'切换到账号页,点一下左侧的账号,点一下右侧列出的开发组,并点击'View Details'(需要选中一个开发组)。
13.在弹出的窗口中,我们点击左上角的刷新按钮,让Xcode自动给我们下载Profile。
14.我们可以看到,下面列表中已出现了Xcode自动为我们提交生成的Profile了。格式都为:iOS Team Provisioning Profile: xxx。
之所以有2个,是由于AppID的Bundle ID决定的,这个东西填'*'和填'com.英文域名.*'有App使用真机权限上的区别。
15.我们来生成开发证书。点一下中间的'+'号,在弹出菜单中选择'iOS Development'。
16.弹出提示:证书已生成。我们点'OK'。
17.我们再来生成发布证书。点一下中间的'+'号,在弹出菜单中选择'iOS Distribution'。
18.弹出提示,我们的发布证书也生成了。我们点'OK'。
19.点一下左下角的刷新按钮,刷新完成后,上方的证书列表会显示刚才我们申请的2张证书:开发证书和发布证书。
我们去验证一下证书是否已下回来了。我们点右下角的'Done',关闭窗口。
20.继续点左上角的叉叉,关闭窗口。
21.我们暂时不用关闭Xcode,点左上角的'-',最小化Xcode,因为等下我们还有用。
22.点一下桌面,回到Finder,点'前往',点'实用工具'。
23.找到'钥匙串访问',双击打开。
24.在钥匙串访问的窗口中,点左侧的'登录',点下面的'我的证书',则可以看到右侧列表里,Xcode已下载并为我们装上了2张证书。
25.接下来,我们安装Profile文件,点一下桌面或者背后的文件夹,跳到Finder下,点击'前往',点击'前往文件夹'。
26.在弹出的对话框中,输入以下路径:/Users/你的用户名/Library/MobileDevice/Provisioning Profiles ,并点击'前往'。
注意,该文件夹图形方式下是找不到的,需要用路径访问。
27.直达该文件夹了,我们点一下左上角的第二个小图标,让它以列表方式排列。
可以看到,Xcode为我们下载回来了开发账号上的所有的Profile,其中,10KB的那两个,就是Xcode为我们自动提交申请并生成的,
其余8KB的3个读者不必关注,如果你们从来没有登录开发者网站去手动生成过的话,是没有这3个的。
注意:利用Xcode生成并下载回来的Profile授权文件是没有开发和发布之分的,它默认已包含了2种证书在里面(假如你有的话),
可以直接就用作开发或发布,由此可见,Xcode的版本是越高,操作就越简便。
我们将这10KB的2个重命名一下。
28.将10KB的这2个重命名为我们自己容易记的名字。
OSX下的文件重命名操作是这样的:先点一下文件,在选中状态下,隔1秒后,再点一下,文件件就会高亮,同时也可以编辑的了。
点得太快的话会被认为是双击,这里不要双击安装这2个Profile。
29.重命名后,点一下桌面下面的Xcode,让它显示出来,点一下已连接设备下的'Provisioning Profiles',然后把窗口拖开一点点,
直到可以看到后面的文件夹为止,然后将刚才重命名的文件拖到Xcode的空白处后放手,它将会自己安装到设备上去。
这2个分别对应的是'*'和'com.英文域名.*',你可以按需要安装其中一个或全部。
30.安装完成后(大概也就一瞬间的事情),可以看到它们的详细信息:名称、对应平台、有效期、AppID、以及授权文件的状态。
值得注意的是:使用Xcode自动生成的Profile,已经不用区分'开发或发布'类型了。
证书和Profile文件都OK后,我们就可以使用真机调试了。
31.此时可以观察到,真机上已装好2个授权文件。(位置:设置->通用->描述文件)
32.将Xcode关掉,我们已经不需要用它了。
33.回到Finder下,我们点击左侧的'应用程序',去运行PAServer。
34.找到PAServer 15.0,双击运行。
35.PAServer运行起来后,我们可以回到WIN下面,进行真机调试了。
2.真机调试,Debug方式。
---------------------------------------------------------------
36.打开XE7,并打开一个工程。
我们先来配置一下工程的授权设置,点击'Project',点击'Options'。
37.在Options窗口中,点击'Provisioning',然后点击右侧的Target,在下拉菜单中的'All configurations'里选择'iOS Device platform'。
38.在Build Type中选择:'iOS Device - Debug'。
39.在'Developer Certificate'中填上Mac里Xcode自动为我们安装的开发证书的名字。
开发证书的名字可以在Mac下->'钥匙串访问'->'登录'->'我的证书'中,找到iPhone Developer开头的就是,请注意大小写。
40.填好开发证书以后, 我们继续,点一下'Build Type',在下拉菜单中选择'iOS Device - Ad hoc'。
我们继续配置 Ad hoc这种编译类型。
41.选择了iOS Device-Ad hoc后,填上发布证书的名字、Profile文件在Mac中的路径。完成后按'OK'保存。
发布证书的名字可以在Mac下->'钥匙串访问'->'登录'->'我的证书'中,找到iPhone Distribution开头的就是。
Xcode为我们下载的Profile的默认路径是:
/Users/你的用户名/Library/Provisioning Profiles/xxx.mobileprovision。
这里要注意的是:发布证书的名字在MAC中,第一个D是大写的,但在XE7中,这里必须填小写,如:
Mac下:iPhone Distribution : xxxxx
XE7下:iPhone distribution : xxxxx
否则,XE7的PAServer会因为这一个字母的大小写原因而报找不到发布证书!
这可能是我这里的问题,也有可能是XE7的PAServer的一个Bug? 期待更多测试结果及用户反馈。
42.配置好编译环境,如设备、尺寸、平台等。我们先来试下Debug编译。双击Debug,变粗后,就可以运行工程了。
43.静待编译结果。
当进度在构建72x72的png时停留了一段时间而没有进展,而下方也没有给出错误信息时,我们可以切换到MAC下去授权程序签名。
44.切换到Mac下,可以看到弹出了一个对话框,我们点击'允许'或'总是允许'。然后切换回WIN下面看结果。
区别就是:'总是允许'后,重复编译这个工程时,该证书对这个App的所有签名都将一律允许,而XE7也不会在72x72的png停下来。
吃了炫迈,根本停不下来啊!
45.回到XE7下,授权签名后,编译继续进行,如果没有报错的话,很快就能在真机上看到我们的App了。
46.运行结果真机截图。(iPhone4 iOS6.1)
3.真机调试,Ad hoc方式。
---------------------------------------------------------------
47.停止调试后,我们将真机上的App先卸载掉。不卸载看不出新的编译结果。
然后编译设置改一下,更改为Ad hoc,其它基本不需要变动。更改完成后,可以运行工程了。
48.由于之前没有选择'总是允许'签名,所以依然是在这里停下来。我们去Mac里授权一下。
49.点击'允许'或'总是允许'。
50.注意,假如上一步点击'允许',那么马上还会出现一次询问。
这是因为Ad hoc方式,它会有2步操作:在真机上安装App、生成ipa文件。
51.回到XE7下,允许签名后,编译继续。这里我们就不贴上真机截图了。
52.至于ipa文件,可以在以下2个地方找到:
Mac下:/Users/你的用户名/PAServer/scratch-dir/以(windows用户名-iOS SDK名称)命名的文件夹/xxx.ipa
Win下:工程目录\iOSDevice\Release 或 Debug\xxx.ipa
4.关于Xcode5或以上版本自动替我们在开发者网站上做的那些事。
---------------------------------------------------------------
53.当我们在Xcode下添加了设备到Member Center时,Xcode替我们在开发者网站上添加了我们的设备。
54.同时,Xcode还替我们在开发者网站上添加了AppID。
名称统一为:Xcode iOS Wildcard App ID。
55.同时,Xcode替我们在开发者网站上添加了Profile授权文件。
共2个,可以很容易识别出,文件的状态是: Active(Managed by Xcode) 激活,并且由Xcode管理。
名称统一为:
iOS Team Provisioning Profile: *
iOS Team Provisioning Profile: com.你的英文域名.*
56.当我们在Xcode下生成开发证书、发布证书时,Xcode替我们在开发者网站上添加了这2个证书。
至此,关于Xcode5或以上版本下的XE7 Debug和Ad hoc调试已介绍完毕。
而关于Application Store 的上架方式,我们稍后再介绍,谢谢关注。
PS:
---------------------------------------------------------------
FireMonkey移动开发可加QQ群:165232328 (本人非管理员,仅仅其中一成员,此群高手林立,期待各位Delphi爱好者共同交流)。