XE7 & IOS开发之开发账号(3):证书、AppID、设备、授权profile的申请使用,附Debug真机调试、Ad hoc下iPA文件生成演示(XCode5或以上版本推荐,有图有真相)
网上能找到的关于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爱好者共同交流)。
XE7 & IOS开发之开发账号(3):证书、AppID、设备、授权profile的申请使用,附Debug真机调试、Ad hoc下iPA文件生成演示(XCode5或以上版本推荐,有图有真相)的更多相关文章
- XE8 & IOS开发之免费证书真机调试:开发证书、AppID、开发授权profile的申请,附Debug真机调试演示(XCode7 Beta版或以上版本适用,有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,苹果发布Xcode ...
- XE7 & IOS开发之开发账号(1):开发证书、AppID、设备、开发授权profile的申请使用,附Debug真机调试演示(XCode所有版本通用,有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,以下讨论都是以&q ...
- XE7 & IOS开发之开发账号(2):发布证书、发布授权profile的申请使用,附Ad hoc真机调试、生成ipa文件演示(XCode所有版本通用,有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,以下讨论都是以&q ...
- 【iOS开发必备指南合集】申请企业级IDP、真机调试、游戏接入GameCenter 指南(实现仿官方的成就提示)、游戏接入OpenFeint指南;
本站文章均为李华明Himi原创,转载务必在明显处注明:(作者新浪微博:@李华明Himi) 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-c ...
- XE6 /XE8 & IOS开发之免证书真机调试三步走,生成iPA文件并安装到其它苹果设备上
XE6 & IOS开发之免证书真机调试(1):颁发属于自己的App签名证书(有图有真相) XE6 & IOS开发之免证书真机调试(2):连接真机并运行App(有图有真相) XE6 &a ...
- 免费苹果账号(apple id)申请ios证书p12真机调试
HBuilder可以直接打包越狱版的ipa包,但需要越狱手机才能安装,如果需要安装到没越狱的手机安装,需要自己申请ios证书打包. 一般是需要一个付费了的苹果开发者账号才能申请ios证书打包. 这里介 ...
- iOS 证书、真机调试、发布 App Store
之前对iOS的证书弄的很不清楚,Xcode里面也有各种证书,作为一只有强迫症的巨蟹座,这是不能忍的 趁着准备发布自己的第一个app,梳理一下这块内容 主要参考了这几篇文章: iOS开发:创建真机调试证 ...
- XE6 & IOS开发之免证书真机调试(1):颁发属于自己的App签名证书(有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 1.自己给自己颁发证书, ...
- iOS开发:创建真机调试证书及描述文件
iOS开发:创建真机调试证书及描述文件 关于苹果iOS开发,笔者也是从小白过来的,经历过各种困难和坑,其中就有关于开发证书,生产证书,in_house证书,add_Hoc证书申请过程中的问题,以及上架 ...
随机推荐
- redis-cluster 迁移过程错误记录
因为集群内的 单点redis消耗 内存达到了14个G,所以需要增加新的节点,并将数据迁移过去,使用 redis-trib reshard ip:port A : 2105slot 14.5 ...
- 记录一个UDP收包丢包的问题
这几天写GB28181平台接入层代码,对收到的PS包进行解包时,总是出现误码,最终导致rtsp点播服务中画面花屏. 分析了码流抓包数据之后,发现网络上没有丢包,遂认为PS流解包代码有bug,于是埋头分 ...
- App Transport Security has blocked a cleartext HTTP (http://)
使用SDWebImage加载“http://”开头的图片报错,错误如下: App Transport Security has blocked a cleartext HTTP (http://) r ...
- ST第三次作业Junit安装
一.Junit安装 安装eclipse,右键“项目”文件——>java build path——>导入jar包junit-4.12.jar和hamcrest-all-1.3.jar包. 二 ...
- iptables的扩展匹配
iptables的匹配条件 一.通用匹配:-s.-d.-p.-i.-o 二.扩展匹配 1.隐含扩展:使用-p{tcp|udp|icmp}指定某特定协议后,自动能够对协议进行扩展 -p tcp --dp ...
- 子句jion
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Mysql(一)
一.Mysql简介 Mysql是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下.特点:其体积小.速度快.开源. 分为社区办和商业版,其社区版性能卓越. 二.Ubun ...
- 基于CWMP(TR069)协议ACS服务器的搭建
Linux上安装openacs Openacs的安装分为四大步: 1.安装jdk 2.安装jboss 3.安装mysql 4.部署openacs JDK简介 Java DevelopmentKit(J ...
- ThinkPhp单字母函数
首先A.D.S.L.C.F.I 他们都在 /THINKPHP/Common/functions.php 这个文件中 下面我分别说明一下他们的功能 A() 加载Action类 D() 加载Model类 ...
- Oracle 11.2.0.1的一个Bug,客户端报ORA-03113: 通信通道的文件结尾
半小时前,一个项目反馈应用系统部分功能报错,ORA-03113: 通信通道的文件结尾.好像是个常见的错误. 异常信息:ORA-03113: 通信通道的文件结尾 进程 ID: 2392 会话 ID: 2 ...