本文转载至 http://blog.csdn.net/u011452278/article/details/49511385

原文转载:http://blog.csdn.net/pang040328/article/details/40924737

新版的xcode(6.1)在导出企业级ipa时并没有“saved for enterprise distribution”这个选项,所以需要手动添加该plist文件。

必备条件:1、申请 iOS Developer Enterprise Program,需要$299/年;

2、需要一个有效的SSL证书(访问plist文件用到),可以来着http://www.freehao123.com/startssl-ssl/ 搞一个;

具体步骤如下:

1、创建Production 证书

点击红色方框的+图标

选择In-house and Ad Hoc,由于已经创建过该类证书,所以不能再次创建。点击continue后会要求上传证书请求文件,具体的证书创建过程请参考http://blog.csdn.net/abbottsuccess/article/details/4445160。证书生成后下载(cer)文件,双击安装,可在钥匙串中查看到已安装的证书

2、创建Provisioning Profiles

选择In House ,点击继续

选择App ID(关于如何创建APP ID请查看步骤一的链接),继续

选择步骤一创建的发布证书(别选错),继续

下载,之后双击安装该文件(安装时间很短,确定双击即可)

3、创建IPA及plist

打开Xcode,点击左上角的工程名称,在TARGETS中点击工程名,选中顶部的General, Team选择为在 iOS Developer Enterprise Program创建的账号。

选择工程,在Build Settings中的Code Signing中将Debug、Distribution、Release全选择为步骤一中安装好的证书,Provisionning Profile选择为所下载的那个文件。返回到TARGETS,在Build Settings中进行同样的操作。

在Xcode的菜单栏上选择Product -> Archive

选择 Export,

选择Save for Enterprise Deployment,next

按要求选择账号,然后继续即可,最后就是导出ipa了(注意,没有任何Save for Enterprise选项)

截止目前为止,ipa已经生成了,但是由于6以上的xcode已经不支持自动生产plist文件,所以需要自己创建plist文件。Dropbox有个样例,可以参考一下https://www.dropbox.com/s/a8hpnmq654pmbaw/AppName.plist?dl=0

4、通过网络安装ipa

注意:plist文件的名称必须跟ipa文件名称一致

1)将plist与ipa文件上传至服务器,

  1. 创建网页,包含如下代码:<a href="itms-services://?action=download-manifest&url=https://mydomain.com/apps/MyInHouseApp.plist" id="text">Install the In-House App</a>

url必须是https,否则ipa无法安装。

2)有些服务器可能还需要配置一些mime type,如下:

application/octet-stream ipa

text/xml plist
  • 原始plist文件如下:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5. <key>items</key>
  6. <array>
  7. <dict>
  8. <key>assets</key>
  9. <array>
  10. <dict>
  11. <key>kind</key>
  12. <string>software-package</string>
  13. <key>url</key>
  14. <string>THE URL FOR YOUR IPA: ex: http://go.com/appname.ipa</string>
  15. </dict>
  16. <dict>
  17. <key>kind</key>
  18. <string>full-size-image</string>
  19. <key>needs-shine</key>
  20. <true/>
  21. <key>url</key>
  22. <string>THE URL FOR INSTALLATION @2x ICON: ex: http://go.com/Icon@2x.png</string>
  23. </dict>
  24. <dict>
  25. <key>kind</key>
  26. <string>display-image</string>
  27. <key>needs-shine</key>
  28. <true/>
  29. <key>url</key>
  30. <string>THE URL FOR INSTALLATION ICON: ex: http://go.com/Icon.png</string>
  31. </dict>
  32. </array>
  33. <key>metadata</key>
  34. <dict>
  35. <key>bundle-identifier</key>
  36. <string>YOUR BUNDLE ID (Take it from your Xcode Project)</string>
  37. <key>bundle-version</key>
  38. <string>1.2.3 Your app version</string>
  39. <key>kind</key>
  40. <string>software</string>
  41. <key>title</key>
  42. <string>The Title To Present To The User installing the app</string>
  43. </dict>
  44. </dict>
  45. </array>
  46. </dict>
  47. </plist>

我在刚开始测试时,没有指定<full-size-image>和<display-image>段的图片地址,导致应用在ios6和ios7设备上可以安装,但ios8设备上可以下载无法安装,大家可以注意一下这个问题;

另外<bundle-identifier>段,这里的注释是“输入你的BUNDLE ID(可以从XCODE的工程中获取)”。但我输入的是potal中完整的APPID,形如"X6J85AD.com.xx.xx"这样,也可以正常下载和安装。

  • plist存放位置

plist下载必须使用https协议,要么就花钱买个SSL证书给网站添加https支持,

不想花钱的可以使用OSChina的代码托管。

访问https://Git.oschina.NET,添加一个项目;然后用git或svn客户端将plsit文件提交到版本库中;最后在浏览器中访问项目中的plsit文件,查看原始数据,即可获得plsit的https下载地址。

最后贴图,证明上述所说的都不是扯蛋

iOS企业版打包 发布在线安装包 plist的更多相关文章

  1. 【Android Studio安装部署系列】十、Android studio打包发布apk安装包

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 使用Android studio发布apk安装包的操作步骤. 开始打包发布apk Build > Generate Signe ...

  2. iOS 平台上常见的安装包有三种,deb、ipa 和 pxl

    前言:目前 iOS 平台上常见的安装包有三种,deb.ipa 和 pxl. 其中 deb 格式是 Debian 系统(包含 Debian 和 Ubuntu )专属安装包格式,配合 APT 软件管理系统 ...

  3. iOS企业版打包(转载)

    转自 http://www.cnblogs.com/shenlaiyaoshi/p/5472474.html   神来钥匙-陈诗友 iOS 企业版 打包 使用 iOS 企业版的证书发布应用可以跳过 A ...

  4. iOS 企业版 打包

    iOS 企业版 打包 使用 iOS 企业版的证书发布应用可以跳过 Appstore,直接发布到自己的网站,让其他人在自己的网站上下载安装,但前提是要用苹果自带的Safari 浏览器才能下载安装,其他浏 ...

  5. Mac Jenkins+fastlane 简单几步实现iOS自动化打包发布 + jenkins节点设置

    最近在使用jenkins 实现ios自动化打包发布蒲公英过程实践遇到了一些坑,特意记录下来方便有需要的人. 进入正题: 一.安装Jenkins 1.Mac上安装Jenkins 遇到到坑 因为 Jenk ...

  6. 利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包

    因为业务需要,项目中需要把asp.netmvc项目打包成exe安装程序给客户,让客户直接可以点下一步下一步安装部署web程序,并且同时要将IIS服务和mysql一同安装到服务器上,因为客户的电脑可能是 ...

  7. 如何给windows窗体程序打包成一个安装包

    http://blog.csdn.net/xyy410874116/article/details/6341787 给windows窗体程序打包成一个安装包:具体操作在:http://hi.baidu ...

  8. 【2】IOS APP打包发布

    目的: 本文的目的是对IOS APP打包发布做了对应的介绍,大家可根据文档步骤进行mac环境部署: 申请苹果开发者账号 此处略 创建申请证书 这样做的目的就是为你的电脑安装发布许可证,只有这样你的电脑 ...

  9. 使用VS2015打包winform程序安装包简单方法(不需要InstallShield)

    转载自:   DGPLM博客 使用VS2015打包winform程序安装包简单方法(不需要InstallShield)

随机推荐

  1. 基于WebSocket实现聊天室(Node)

    基于WebSocket实现聊天室(Node) WebSocket是基于TCP的长连接通信协议,服务端可以主动向前端传递数据,相比比AJAX轮询服务器,WebSocket采用监听的方式,减轻了服务器压力 ...

  2. 一道c++面试题 输入一个维度,逆时针打印出一个指定的矩阵

    题目:逆时针打印矩阵元素 #include <stdio.h> #include <malloc.h> int main() { int dimension; int *p; ...

  3. elementUI tree组件获取当前选择所有选中(check)和半选中(indeterminate)的节点

    网上查了半天,一大堆都说要改源码的,最后发现有方法不用改源码的 获取方法如下 this.$refs.tree.getCheckedKeys().concat(this.$refs.tree.getHa ...

  4. hadoop-网站收藏

    Ubuntu14.04安装配置Hadoop2.6.0(完全分布式)与 wordcount实例运行 http://www.linuxidc.com/Linux/2015-01/112029p2.htm ...

  5. TensorFlow实战Google深度学习框架1-4章学习笔记

    目录 第1章 深度学习简介 第2章 TensorFlow环境搭建 第3章 TensorFlow入门 第4章 深层神经网络   第1章 深度学习简介 对于许多机器学习问题来说,特征提取不是一件简单的事情 ...

  6. (20170207)开源第三方学习之JSONModel

    1:仓库地址:https://github.com/jsonmodel/jsonmodel   主要作用是把JSON字符串转成Model实体,也可以把实体转化成JSON字符串:还包含一些转字典的内容: ...

  7. yarn upgrade

    更新一个依赖 yarn upgrade 用于更新包到基于规范范围的最新版本 yarn upgrade --latest # 忽略版本规则,升级到最新版本,并且更新 package.json .

  8. Delphi提取PDF文本

    生成PDF的控件很多,但解析的不是太多,pdf Toolkit可以,但测试的第一个复杂的pdf就报告错误,并且汉字乱码,可能使用的版本或使用方法不对. 想起之前使用java调用的Apache名下的pd ...

  9. 关于inodes占用100%解决方法

    df -i; 发现inode节点占满: 这个时候如果不知道哪儿节点占用多可以用下边的脚本进行检查,查看到底哪个目录下面的文件最多: for i in /*; do echo $i; find $i | ...

  10. 基于 Python 官方 GitHub 构建 Python 文档

    最近在学 Python,所以总是在看 Python 的官方文档, https://docs.python.org/2/ 因为祖传基因的影响,我总是喜欢把这些文档保存到本地,不过 Python 的文档实 ...