XE6 & IOS开发之开发者账号、苹果证书(3):关于在XE6中使用苹果证书的简单介绍
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容、傻瓜式的表达来告诉你想要的答案。
原创作品,请尊重作者劳动成果,转载请注明出处!!!
1.关于在XE6中使用苹果证书。
注意,以下讨论都是以"合法注册开发者账号并支付年费"为前提,利用无证书生成iPA的请无视本文:
---------------------------------------------------------------
1.首先,我们打开XE6,打开官方的Setting Demo这个工程。
打开后,平台选择为'iOS Device'。这里可以看到,IOS工程可以构造3种类型:
1.Debug(主要用于调试,如果选择该类型编译App,则该App安装后授权有效期为3个月)
2.Application Store(上架到AppStore时需要此类型)
3.Ad hoc(这个叫做无线发布,即开发人员可以用此类型而不需经过AppStore就能发布测试版、发布版)

2.要使编译出来的App能对这3种类型生效,我们必须针对每个App工程都去配置一下。点击XE6菜单栏'project',点击'Options'。

3.在弹出的窗体中,点击左侧的'Provisioning'。

4.Target中选择'iOS Device platform',表示我们配置此工程的iOS平台。

5.Buind Type中选择:iOS Device-Application Store。
可以看到,若要编译为此类型,则需要配置3项:发布证书、Profile、AppID。

6.Buind Type中选择:iOS Device-Debug。
可以看到,若要编译为此类型,则仅需要配置1项:开发证书,目的只是为了给程序签名。
这里不需要发布证书,是因为此种类型的App不能上架到AppStore。

7.Buind Type中选择:iOS Device-Ad hoc。
可以看到,若要编译为此类型,则需要配置2项:发布证书、Profile。

以上设定我们以假设你是一个合法的开发者(已向苹果上交'保护费'),并已经生成了自己的证书等文件为前提,
至于如何用开发者账号来生成自己的证书等文件,请自行百度资料,或参考上篇文章,在这里这个不是我们的讨论目标。
值得注意的是,'iOS Device-Ad hoc'这种类型很有意思,由于它可以不经AppStore就能够发布成为正式版本,
所以对于这类App,安装方式则变为3种:(被安装设备无需越狱!)
1.取得iPA文件后,用iTools等手机管理工具安装。
2.上传到XX助手并请求发布,则所有装有XX助手的用户都可以刷新看到该App并下载安装。(这里只是举例为XX助手)
3.发布为网页链接,则所有浏览到该链接的用户都可以直接点击网页链接来下载安装App。
(例如,在设备的safari上直接打开http://cloud.189.cn/wap/index.jsp,如下图:)

在'点击免费安装',设备会自动下载并安装App,而不需要进入AppStore去下载安装。
原因在于,编译为'iOS Device-Ad hoc'时,同时会产生一个plist文件,该文件中指示了iPA的真正地址。
这种安装方式其实就是使用企业证书签名App的方式来安装程序。
同样,我们也可以使用个人证书,结合Profile给设备授权后,用此方式进行发布和安装,从而绕过了 "上架AppStore并须经iTunes安装" 这种约定。
PS:
---------------------------------------------------------------
FireMonkey移动开发可加QQ群:165232328 (本人非管理员,仅仅其中一成员,此群高手林立,期待各位Delphi爱好者共同交流)。
XE6 & IOS开发之开发者账号、苹果证书(3):关于在XE6中使用苹果证书的简单介绍的更多相关文章
- XE6 & IOS开发之开发者账号、苹果证书(2):关于苹果证书
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 1.关于苹果证书. 注意 ...
- XE6 & IOS开发之开发者账号、苹果证书(1):关于开发者账号
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 关于苹果开发者账号, 注 ...
- iOS 开发 公司开发者账号,在多台Mac上合作开发,共用一个账号和证书--图文详解
参考 导出证书申请的MAC里的Xcode的开发者账号 .developerprofile 导出的开发者账号文件.developerprofile 导出PKCS12既是.p12文件 所拷贝的资料, .d ...
- iOS开发——关于开发者账号引发的血案
这里不介绍怎么申请开发者账号,那个网上的教程太多了.这里讲点有意思的. 如果你们公司比较,怎么说呢,呵呵?管理层不懂开发,不管事,申请开发者账号的人员又比较小白,或者别有用心,用私人邮箱来申请,申请的 ...
- IOS开发之开发者账号遇到的bug
今天使用开发者账号过期的问题,文件显示 其实今天的问题和这个没有关系,即使上面显示此证书的签发者无效,有时候也是可以用的. 我这里情况比较奇葩,刚刚生成的开发者账号,显示还是"......无 ...
- XE6 & IOS开发之免证书真机调试(1):颁发属于自己的App签名证书(有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 1.自己给自己颁发证书, ...
- XE6 & IOS开发之免证书真机调试(2):连接真机并运行App(有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 连接真机前,请先确保真机 ...
- iOS开发从申请账号到上线APP Store步骤
1.developer.apple.com 申请开发者账号 2.根据API Cloud创建证书: http://docs.apicloud.com/Dev-Guide/iOS-License-Appl ...
- iOS AppStore个人开发者账号申请
一.申请Apple Developer账号 1.注册App ID 1.打开苹果开发者网页,选择Account,注册Apple ID. 2.填写注册信息 3.地区选择China,填写好验证码,点击C ...
随机推荐
- Java异常简介
异常指异于常态,和正常情况不一样,有错误出现.阻止当前方法或作用域执行的问题,称之为异常. Java中所有的与异常有关的类都继承于Throwable类,Throwable类有两个儿子,一个是Error ...
- 《java编程思想》读书笔记(二)第五章(2)
成员初始化 Java尽力保证:所有变量在使用前都能得到恰当的初始化. 对于方法的局部变量,Java会以编译时报错的形式贯彻这种保证,比如: void f() { int i; //这里编译时就会报错, ...
- c# CLI托管工程开启调试c++库工程代码
启动调试c#winform工程中,无法命中c++库工程中中的断点,在c#工程中更改调试设置: 勾选上Enable unmanaged code debuging
- Docker搭建Java Web运行环境
1. 前提条件 安装了Docker的64位Linux 操作系统 Linux操作系统镜像 Linux版本的JDK压缩包 Linux版本的Tomcat压缩包 2. 启动容器 容器是在镜像的基础上来运行的, ...
- 开始使用Pyhton
安装 第一个Python程序 首先我们打开python 交互式解释器, 执行如下命令: Python 3.5.1+ (default, Mar 30 2016, 22:46:26) [GCC 5.3. ...
- (转) Awesome - Most Cited Deep Learning Papers
转自:https://github.com/terryum/awesome-deep-learning-papers Awesome - Most Cited Deep Learning Papers ...
- Winform水印
本文实例展示了WinForm实现为TextBox设置水印文字功能,非常实用的技巧,分享给大家供大家参考. 关键代码如下 using System; using System.Runtime.Inter ...
- Centos6.5 设置Tomcat8 service服务实现自启动和服务管理
Centos6.5 设置Tomcat8 service服务实现自启动和服务管理 将tomcat设置成像apache,nginx一样. 用serviec xxxx start/stop/restart ...
- git常见命令
总结自己的Git常用命令 使用git也有一段时间了,把自己常用的命令用自己的描述记录起来,方便自己备忘也方便其他人参考. 目录: 最基本的命令: git clone 拷贝并跟踪远程的master分支. ...
- api接口签名验证
由于http是无状态的,所以正常情况下在浏览器浏览网页,服务器都是通过访问者的cookie(cookie中存储的jsessionid)来辨别客户端的身份的,当客户端进行登录服务器也会将登录信息存放在服 ...