zoukankan      html  css  js  c++  java
  • 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下:工程目录iOSDeviceRelease 或 Debugxxx.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爱好者共同交流)。

  • 相关阅读:
    各种类型的Dialog
    短信验证码的使用
    监听开机广播
    实现点击两次返回键退出
    Android 遮罩层效果--制作圆形头像
    Native方法的使用
    如何给数字添加分隔符
    自定义Toast
    Android px、dp、sp之间相互转换
    android:scrollbarStyle属性及滚动条和分割线覆盖问题
  • 原文地址:https://www.cnblogs.com/weii/p/4012898.html
Copyright © 2011-2022 走看看