通过网页进行 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 标签下能看到对应的项目, 接下来就和上面的步骤一致了。
- sl从程序集中读取xaml文件
- WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇]
- WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[扩展篇]
- 如何解决打开VS2010后没有UI界面的问题
- RadRails1.0降临——增加Profiler、CallGraph Analyzer和Rails Shell等新特性
- Rails存储库从SVN转向Git
- 报告称10后已变成出境游“老司机”屌丝80后:我还没出过国
- 担心人工智能取代你的工作?听听微软科学家怎么说!
- Radiant: 基于Ruby on Rails的内容管理系统
- “大数据”如何追回1.3亿元税款?
- Enterprise Library深入解析与灵活应用(5):创建一个简易版的批处理执行器,认识Enterprise Library典型的配置方式和对象创建方式
- BTC.com时讯-IBM等老牌大企业因区块链技术获得新活力
- Kit 3D 更新
- Enterprise Library深入解析与灵活应用(5):创建一个简易版的批处理执行器,认识Enterprise Library典型的配置方式和对象创建方式
- 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 文档注释
- Tomcat性能监控与调优
- Vue+SpringBoot项目实战(一) 搭建环境
- kubernetes(十九) Ceph存储入门
- Java并发编程(8)- 应用限流及其常见算法
- 字符集其实很简单
- kubernetes(二十)SpringCloud微服务容器化迁移
- HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!
- kubernetes(七) 二进制部署k8s(1.18.4版本)
- Java并发编程(7)- 线程调度 - 线程池
- Java并发编程(6)- J.U.C组件拓展
- Java并发编程(5)- J.U.C之AQS及其相关组件详解
- Python+selenium 自动化-启用带插件的chrome浏览器,调用浏览器带插件,浏览器加载配置信息。
- Java并发编程(4)- 线程安全策略
- Java并发编程(3)- 如何安全发布对象
- Python 技术篇-3行代码实现语音朗读,pywin32库实现语音朗读