【转】iPhone开发技巧之发布篇(4)--- 使用 Ad Hoc 发布自己的应用程序

2023-11-23 04:08

本文主要是介绍【转】iPhone开发技巧之发布篇(4)--- 使用 Ad Hoc 发布自己的应用程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

博主: 易飞扬 原文链接 :  http://www.yifeiyang.net/iphone-development-skills-of-published-articles-4-use-the-ad-hoc-release-their-own-applications/

iPhone开发技巧之发布篇(4)--- 使用 Ad Hoc 发布自己的应用程序

iPhone应用程序的发布形式有两种,1种是通过 App Store 正式的贩卖,还有一种是 Ad Hoc,针对特定的用户发布自己的程序,不用经过Apple的审核。

使用 Ad Hoc 有什么好处呢,你可以:

  • 发布自己的程序给亲朋好友,且不收取费用
  • 程序正式上传之前,得到更多人的 review
  • Apple 的设备开发 Provisioning Profile 有3个月的限制,用其安装的程序,3个月后如果不更换 Profile,程序就不能使用了,换成Ad Hoc的话,可延长期限到你的IDP截至日期
  • 使用各种Private API等Apple禁止的功能,而不担心被Reject

但是使用 Ad Hoc 发布仍是有限制的,就是发布的设备最多只有 100 台。下面我们就来看看其发布和发布后安装的流程。

发布

下面列出了用 Ad Hoc 的发布流程,一些步骤是与 iPhone开发入门(10)--- 设备上运行程序 和iPhone开发入门(11)--- 在App Store上发布程序 重复的。你可以根据实际情况省略。

发布前的准备

发布前需要知道对方设备的的ID (iPhone UDID),可以让对方到 App Store 上安装一款叫 「Ad Hoc Helper」 的免费工具,然后用它给自己发一封邮件就好了(其中包含了对方设备的 UDID)。或者使用其他方式得到设备的UDID,比如 iTunes。总之需要得到发布目的的 UDID。

Xcode

 

生成证明书

从应用程序点击「utility」→「Keychain access」。

Xcode

 

然后点击「Keychain access」→「证明助手」→「发行证明书...」。

Xcode

 

其中在「用户的邮箱地址」中填写注册 Apple ID 时的地址,并在 Common Name 中输入英文的名字。最后选择「保存到硬盘」和「指定对称键情报」后点击「下一步」。

Xcode

 

适当选择文件保存的位置。

Xcode

 

对称键情报中,确认键的大小为「2048位」,算法是「RSA」后点击「下一步」。

Xcode

 

过上一会儿,出现结束画面。刚才保存的文件可以用来请求证明书。

注册证明书

如下图,点击左边的「Certificates」 可以注册刚才做好的证明书。

Program Portal

 

点击「Request Certificate」,在下面的画面中选择请求证明书的文件,最后点击「Submit」。

Program Portal

 

提交之后被添加到表格中,之后点击「Approve」等待。

Program Portal

 

之后,表格中显示「Download」按钮,点击它下载证明书。

Program Portal

 

同时不要忘了下载表格下面的「WWDR intermediate certificate」。之后分别双击这两个下载的文件,在「提交证明书」对话框中选择OK。这之后就可以在Keychain的「证明书」一项中确认添加的证明书了。

Program Portal

 

注册设备

接下来注册 iPhone 或者 iPod touch。选择「Devices」的右上角的「Add Device」。

Program Portal

 

在「Device Name」中输入任意的设备名称。在「Device ID」中输入刚才确认的UDID后就OK了。最多可输入100个设备的UDID。

Program Portal

 

生成App ID

接下来点击「App IDs」,来生成AppID。

Program Portal

 

在「App ID Name」中输入任意的名字,在右边的「App ID」中输入“*”。利用 App ID 将应用程序按不同的组管理起来。如果你输入的「Bundle Identifier」与应用程序中包含的「Bundle Identifier」不一致的话,程序是不会启动的。它主要是为了方便多人开发的项目,对于个人而言没有什么必要。所以这里将 App ID 写作「*」就是说含有任何 Bundle Identifier 的程序等可以运行。

最后点击 Submit,就完成了注册。

Program Portal

 

创建Provisioning Profile

最后来创建Provisioning Profile。选择「Privisioning → Distribution → New Profile」点击右上角的「Add Profile」。

  • Distribution Method: Ad Hoc
  • Profile Name: 任意
  • Distribution Certificate: 刚才设置好的
  • App ID: 刚才设置好的
  • Devices: 选择你要发布的设备ID(可多选,最大100个)

随后点击 Submit 创建 Provisioning Profile。

Provisioning Profile

 

等待一会儿,表格中「Download」显示出来。点击它下载 Provisioning Profile 文件。

安装Provisioning

打开应用程序程序的 Xcode 项目。由菜单打开「窗口」→「organizer」,拖动刚才创建的Provisioning文件到Provisioning项目中。

Program Portal

 

Entitlements.plist

Resources 中创建新文件 → Code Signing → Entitlements → AddHockEntitlements.plist

项目设定

为了创建 distribution build,需要向工程中添加新的编译目标。由 Xcode 的菜单点击「项目」→「项目设定」中的「构成」标签。

iPhone Screenshot

 

选择表中的「Release」,并点击在下的「複製」,生成「Release的拷贝」后,将其名称改为「Ad Hock」。结束后点击「编译」标签,选择「Ad Hock」。

Xcode

 

最后,需要在「Any iPhone OS Device」项目上选择刚才安装的Provisioning Profile。Code Signing Entitlements 中设置刚才创建的 "AddHockEntitlements.plist" 。

编译

选择 Active SDK 为 Device、构成为「Ad Hock」就可以编译了。

Xcode

 

安装

方法1:使用iTunes同步

将编译好的 xxxx.app 与 Provisioning Profile 文件一并打包发送给你的用户。用户解压后拖动 xxxx.app 文件夹和 profile 文件到 iTunes 的 资料库 ⇒ 应用程序 下,然后与目标iPhone设备同步即可。

Xcode

 

方法2:使用iPhone 配置实用工具

到 这里 下载 iPhone 配置实用工具,然后同样将解压后的 xxxx.app 文件夹和profile 文件到 拖动到配置工具的 资料库 ⇒ 应用程序 下,点击右边的安装即可。

Xcode

 

 

Xcode

 


 

这篇关于【转】iPhone开发技巧之发布篇(4)--- 使用 Ad Hoc 发布自己的应用程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/415223

相关文章

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完