【转】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使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详