通过网页进行 iOS 应用内部分发
通过网页进行 iOS 应用内部分发
介绍如何通过网页内部分发 iOS 应用, 包括 In-House 企业应用和 ad-hoc 测试应用。
原生 XCode 应用
1. 归档编译
用 XCode 打开要分发的项目, 依次选择 "Product" -> "Build for" -> "Archiving"
, 如下图:
编译完成之后,就会生成 XCode 的项目归档, 接下来使用 Organizer 设置分发信息。
2. 使用 Organizer 设置分发信息
打开 Orangizer , 选择 Archives 标签, 可以看到现有的 XCode 项目归档, 选择要分发的项目, 然后点击右边的 Distribute...
按钮, 如下图所示:
接下来回弹出分发向导, 第一步分发方式, 选择 Save for Enterprise or Ad-Hoc Development
, 如下图所示:
点击 Next
按钮, 第二步选择代码签名, 选择 Enterprise
或者 Ad-Hoc
签名, 如下图所示:
点击 Next
按钮, 第三步填写分发信息, 选择应用保存位置以及名称, 同时要勾选 Save for Enterprise Distribution
, 输入分发信息, 然后保存, 这样将会生成两个文件, 一个是后缀为 ipa 文件, 就是 iOS 程序本身了, 另一个是后缀为 plist 文件, 包含 ipa 文件的描述信息。
3. 部署到内部 Web 服务器
将上一部最终生成的 ipa 以及 plist 文件复制到内部的 Web 服务器, 在网页上添加类似这样的链接:
<a href="itms-services://?action=download-manifest&url=https://url-to-your-app.plist">安装移动办公iOS版</a>
Web 服务器上可能需要添加 .plist 和 .ipa 的 Mime 类型, 它们的 Mime 类型分别为:
-
.plist : text/xml
; .ipa : application/octet-stream
4. iOS 设备下载安装
用 iOS 设备访问网页, 点击链接就可以直接安装了。 如果是未越狱的设备, 需要确认签名许可包含了设备的 UDID , 否则无法安装。
MonoTouch 应用
对于 MonoTouch 编写的应用, 需要将 MonoDevelop 升级到最新版的 3.1.1 , 在 Build
菜单下也添加了 Achive
选项, 选择 Arcive
菜单进行编译, 就会在 XCode 的 Organizer 的 Archives 标签下能看到对应的项目, 接下来就和上面的步骤一致了。
- React基础之JSX语法
- 13.4 mysql用户管理
- Linux基础(day54)
- 13.3 mysql常用命令
- 13.2 连接mysql
- JDK容器学习之List: CopyOnWriteArrayList,ArrayList,LinkedList对比
- 13.1 设置更改root密码
- 12.23 open_basedir
- JDK容器学习之CopyOnWriteArrayList:线程安全保障机制
- JDK容器学习之LinkedList:底层存储&读写逻辑
- Linux基础(day53)
- 15.4 xshell使用xftp传输文件
- JDK容器学习之ArrayList:底层存储和动态扩容
- Linux基础(day57)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 设计原则之单一职责
- 设计原则之开闭原则
- SpringBoot执行跨域处理
- SpringBoot对全局异常的处理封装
- 自定义springboot-starter揭秘自动配置骚操作
- 【大厂面试题】Redis中是如何实现分布式锁的?
- 最近公司招人,研发组商量了下,暂时定下这么多java面试题!
- 市面上数据库种类那么多,如何选择?
- 玩转正则!推荐一个速查、调试、验证、可视化工具
- 当一个http请求来临时,SpringMVC究竟偷偷帮你做了什么?
- Js实现文本复制
- 当一个http请求来临时,SpringMVC究竟偷偷帮你做了什么?处理器映射器与处理器篇
- anetTcpGenericConnect 详解
- 详解 MySQL 基准测试和sysbench工具
- 第六天:网络处理(anet部分)-- redis源码慢慢学,慢慢看【redis6.0.6】