iOS企业版打包 发布在线安装包 plist
本文转载至 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文件上传至服务器,
- 创建网页,包含如下代码:<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文件如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
- <plist version="1.0">
- <dict>
- <key>items</key>
- <array>
- <dict>
- <key>assets</key>
- <array>
- <dict>
- <key>kind</key>
- <string>software-package</string>
- <key>url</key>
- <string>THE URL FOR YOUR IPA: ex: http://go.com/appname.ipa</string>
- </dict>
- <dict>
- <key>kind</key>
- <string>full-size-image</string>
- <key>needs-shine</key>
- <true/>
- <key>url</key>
- <string>THE URL FOR INSTALLATION @2x ICON: ex: http://go.com/Icon@2x.png</string>
- </dict>
- <dict>
- <key>kind</key>
- <string>display-image</string>
- <key>needs-shine</key>
- <true/>
- <key>url</key>
- <string>THE URL FOR INSTALLATION ICON: ex: http://go.com/Icon.png</string>
- </dict>
- </array>
- <key>metadata</key>
- <dict>
- <key>bundle-identifier</key>
- <string>YOUR BUNDLE ID (Take it from your Xcode Project)</string>
- <key>bundle-version</key>
- <string>1.2.3 Your app version</string>
- <key>kind</key>
- <string>software</string>
- <key>title</key>
- <string>The Title To Present To The User installing the app</string>
- </dict>
- </dict>
- </array>
- </dict>
- </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的更多相关文章
- 【Android Studio安装部署系列】十、Android studio打包发布apk安装包
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 使用Android studio发布apk安装包的操作步骤. 开始打包发布apk Build > Generate Signe ...
- iOS 平台上常见的安装包有三种,deb、ipa 和 pxl
前言:目前 iOS 平台上常见的安装包有三种,deb.ipa 和 pxl. 其中 deb 格式是 Debian 系统(包含 Debian 和 Ubuntu )专属安装包格式,配合 APT 软件管理系统 ...
- iOS企业版打包(转载)
转自 http://www.cnblogs.com/shenlaiyaoshi/p/5472474.html 神来钥匙-陈诗友 iOS 企业版 打包 使用 iOS 企业版的证书发布应用可以跳过 A ...
- iOS 企业版 打包
iOS 企业版 打包 使用 iOS 企业版的证书发布应用可以跳过 Appstore,直接发布到自己的网站,让其他人在自己的网站上下载安装,但前提是要用苹果自带的Safari 浏览器才能下载安装,其他浏 ...
- Mac Jenkins+fastlane 简单几步实现iOS自动化打包发布 + jenkins节点设置
最近在使用jenkins 实现ios自动化打包发布蒲公英过程实践遇到了一些坑,特意记录下来方便有需要的人. 进入正题: 一.安装Jenkins 1.Mac上安装Jenkins 遇到到坑 因为 Jenk ...
- 利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包
因为业务需要,项目中需要把asp.netmvc项目打包成exe安装程序给客户,让客户直接可以点下一步下一步安装部署web程序,并且同时要将IIS服务和mysql一同安装到服务器上,因为客户的电脑可能是 ...
- 如何给windows窗体程序打包成一个安装包
http://blog.csdn.net/xyy410874116/article/details/6341787 给windows窗体程序打包成一个安装包:具体操作在:http://hi.baidu ...
- 【2】IOS APP打包发布
目的: 本文的目的是对IOS APP打包发布做了对应的介绍,大家可根据文档步骤进行mac环境部署: 申请苹果开发者账号 此处略 创建申请证书 这样做的目的就是为你的电脑安装发布许可证,只有这样你的电脑 ...
- 使用VS2015打包winform程序安装包简单方法(不需要InstallShield)
转载自: DGPLM博客 使用VS2015打包winform程序安装包简单方法(不需要InstallShield)
随机推荐
- Ruby语法基础(二)
Ruby语法基础(二) 继续ruby的学习,这次主要把目光放到运算符,条件判断,循环,方法,以及其他ruby特有的基本概念上 运算符 算术运算符:+,-,/,%,**,值的注意的是,ruby中一切皆为 ...
- java大数BinInteger
当我们遇到long不行的时候就要考虑这个BinInteger了,因为这是只要你内存够大,就能输入很大的数,用这个处理高精度问题,是很容易的一件事,对于我这刚学java的萌新来说,长见识了,确实比C方便 ...
- poj1064 Cable master(二分查找,精度)
https://vjudge.net/problem/POJ-1064 二分就相当于不停地折半试. C++AC,G++WA不知为何,有人说C函数ans那里爆int了,改了之后也没什么用. #inclu ...
- [asp.net core]SignalR一个例子
摘要 在一个后台管理的页面想实时监控一些操作的数据,想到用signalR. 一个例子 asp.net core+signalR 使用Nuget安装包:Microsoft.AspNetCore.Sign ...
- fiddler抓取手机上https数据失败,全部显示“Tunnel to......443”解决办法
与后端数据通信是前端日常开发的重要一环,在与后端接口联调的时候往往需要通过查看后端返回的数据进行调试.如果在PC端,Chrome自带的DevTools就已经足够用了,Network面板可以记录所有网络 ...
- 关于cxf生成客户端代码中的JAXBElement<String>
1.使用自动生成的java文件中的 ObjectFactory构造入参 关于cxf生成客户端代码中的JAXBElement<String> 在使用cxf或者x-fire进行webse ...
- webpack Import 动态文件
其实React Import scss 是非常简单的,比如一般写法import './PromotionPage.scss';,今天遇到一个样式需要覆盖,那么修改后的代码变成了: import './ ...
- qt5信息提示框QMessageBox用法
information QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes ...
- Js实现Table动态添加一行的小例子
<form id="form1" runat="server"> <div> <table id=" style=&qu ...
- 分享12款令人瞠目结舌的WebVR演示和实验效果
不管你信不信, WebVR绝对是浏览器下一个让你激动的技术方向, 也许很快你就可以使用VR头显或者相关设备直接访问web内容和资源啦! 在这篇资源分享帖中,我们将介绍很多基于浏览器的VR演示和游戏,帮 ...