iOS开发企业版IPA分发

iOS开发企业版IPA分发

IPA打包
1 Certificate Signing Request (CSR)文件

在Mac系统中进入“钥匙串访问”,选择“钥匙串访问”-“证书助理”-“从证书颁发机构请求证书…”,如图1所示:



—>填写前两项,并选择“存储到磁盘”,如图2所示:


2 请求Certificate证书

  登录https://developer.apple.com —>MemberCenter—>Certificates, Indentifiers & Profiles—>Certificates,如图3所示:



—>在图4页面,点击右上角加号,添加一个证书:



—>选择In-House and Ad Hoc,点继续,如图5所示:



 —>如图6:Choose File选择第1步的CSR文件上传,点击generate生成cer证书,下载后双击安转(需要输入Mac的密码)



3 App ID

  点击右上角的加号按钮,如图7所示:



—>有两项需要填(如图8所示),name为描述可以随便填写.bundleID必须与APP的bundleID完全一致(如图9所示)。至于App Services根据自己需要选择。最后点击继续->submit->done


4 生成最终的Provisioning Profile(企业版不需要device即iPhone的UDID,因此跳过)。

  选择Provisioning Profile->ALL,点击右上角加号:



—>选择刚创建的AppID,点击继续,如图12所示:

—>选择cer证书点击继续.图13 给最终生成的Profile文件命名方便自己识别。然后点击生成,并下载双击打开。至此证书环节完毕


1.2 选择对应证书,即刚才生成的证书,如图15所示:


最新的xcde8直接选择即可。

1.3 归档,Product->Archive,并按图16,图17操作:




3.选择Save for Enterprise Deployment选项,Next

4.选择对应的企业账号,然后继续即可

5.接下来是对安装设备的要求选择,默认选择所有设备。第二个选项是指定特定类型设备方可安装。我们使用默认第一项,Next

6.之后的界面是对应用的二次确认,确保APP配置准确无误。在窗口的左下方有一个Include manifest for over-the-air installation。该选项表示是否在生成.ipa文件的同时生成.plist文件,我们勾选上,Next

over-the-air: OTA 是苹果在iOS4中新增的一项功能,目的是让企业用户能够在脱离Apple App Store的情况下通过网页无线发布 iOS 应用;简单来讲就是在Safari中点击一个链接就可以在iPhone或iPad上下载并安装应用(目前很多越狱软件都是使用的这种发布方式)。
7.接下来配置.plist文件,填写完之后,Export导出.ipa包和相应的.plist文件(建议将生成的.plist文件命名同APP名一致,方面后期管理)

构建网站
必备条件
需要购买一个苹果的企业版证书,价格$299/年。指南
网站需要支持HTTPS协议,用于访问下载.plist文件
这里有两种办法:

一种是购买SSL证书或者免费申请SSL证书;
另一种是将.plist文件托管在第三方上面,利用第三方支持的HTTPS进行访问下载; 使用OSChina的代码托管。访问OSChina,添加一个项目;然后用git或svn客户端将.plist文件提交到版本库中;最后在浏览器中访问项目中的.plist文件,查看原始数据,即可获得plist的https下载地址。
步骤
1. 将.plist文件与.ipa文件上传至服务器供用户访问
2. 创建一个包含如下代码的网页,用户轻点 Web 链接后会下载.plist文件,并触发下载和安装
以下是示例链接:
1<a href="itms-services://?action=download-manifest&url=https://example.com/manifest.plist">Install App</a>
2.(详解)
将ipa文件拷贝到要发布的站点上,修改app.plist文件中的ipa文件名和url路径。接下来就是将app.plist文件放到CA认证的网站上即可。然后在手机上输入itms-services:///?action=download-manifest&url=https://www.XXX.XXX/app.plist即可下载安装包。====>步骤阅读
3. 配置服务器MIME类型
您可能需要配置 Web 服务器,让.plist文件和.ipa文件可正确传输。
对于OS X Server,请将MIME类型添加到 Web 服务的MIME类型设置:
application/octet-stream ipa
text/xml plist
对于微软的互联网信息服务器 (IIS),请使用IIS Manager在服务器的“属性”页面中添加MIME类型:

.ipa application/octet-stream
.plist text/xml

openssl使用的是macos系统自带的版本,关键点是不同直接使用ios设备打开https的链接,需要将证书发到系统的mail里,安装到设备,
如果命令执行不成功,用sudo执行。
1.生成服务器的私钥
openssl genrsa -out server.key 1024
2.生成签署申请(注意除Common Name以外可以为空,Common Name必须为服务器的ip或域名)
openssl req -new -key server.key -out server.csr
3.生成CA私钥
openssl genrsa -out ca.key 1024
4.利用CA的私钥产生CA的自签署证书
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
5.在当前目录创建demoCA,里面创建文件index.txt和serial,serial内容为01,index.txt为空,以及文件夹newcerts
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
将ca.crt文件通过邮件发送到ios设备的Mail上,进行证书的安装

nginx https配置:


server {
listen 443;
server_name ios.xxx.com;
error_log /dev/null;
ssl on;
ssl_certificate server.crt;
ssl_certificate_key server.key;
ssl_session_timeout 5m;
#ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
root /workspace/ios;
#add_header Content-Disposition: 'attachment;';
}
【警告】撤销分发证书会导致使用该证书签名的所有应用失效。只有万不得已时才应撤销证书,比如确定专用密钥已丢失或确信证书已遭破解。

拓展区
关于无线清单文件(.plist文件)
清单文件是一个XML plist 文件,可供 Apple 设备用来从您的 Web 服务器上查找、下载和安装应用。清单文件由 Xcode 创建,使用的是您在共享用于企业分发的归档应用时所提供的信息。
以下栏是必填项:
URL:应用 (.ipa) 文件的完全限定 HTTPS URL
display-image:57 x 57 像素的 PNG 图像,在下载和安装过程中显示。指定图像的完全限定 URL
full-size-image:512 x 512 像素的 PNG 图像,表示 iTunes 中相应的应用
bundle-identifier:应用的包标识符,与 Xcode 项目中指定的完全一样
bundle-version:应用的包版本,在 Xcode 项目中指定
title:下载和安装过程中显示的应用的名称 样本清单文件(下面给出)还包含可选键。例如,如果应用文件太大,并且想要在执行错误检验(TCP 通信通常会执行该检验)的基础上确保下载的完整性,可以使用 MD5 键。
通过指定项目数组的附加成员,您可以使用一个清单文件安装多个应用。
示例 iOS 应用清单文件
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- array of downloads.-->
<key>items</key>
<array>
<dict>
<!-- an array of assets to download -->
<key>assets</key>
<array>
<!-- software-package: the ipa to install.-->
<dict>
<!-- required. the asset kind.-->
<key>kind</key>
<string>software-package</string>
<!-- optional. md5 every n bytes. will restart a chunk if md5 fails.-->
<key>md5-size</key>
<integer>10485760</integer>
<!-- optional. array of md5 hashes for each "md5-size" sized chunk.-->
<key>md5s</key>
<array>
<string>41fa64bb7a7cae5a46bfb45821ac8bba</string>
<string>51fa64bb7a7cae5a46bfb45821ac8bba</string>
</array>
<!-- required. the URL of the file to download.-->
<key>url</key>
<string>https://www.example.com/apps/foo.ipa</string>
</dict>
<!-- display-image: the icon to display during download.-->
<dict>
<key>kind</key>
<string>display-image</string>
<!-- optional. indicates if icon needs shine effect applied.-->
<key>needs-shine</key>
<true/>
<key>url</key>
<string>https://www.example.com/image.57x57.png</string>
</dict>
<!-- full-size-image: the large 512x512 icon used by iTunes.-->
<dict>
<key>kind</key>
<string>full-size-image</string>
<!-- optional. one md5 hash for the entire file.-->
<key>md5</key>
<string>61fa64bb7a7cae5a46bfb45821ac8bba</string>
<key>needs-shine</key>
<true/>
<key>url</key><string>https://www.example.com/image.512x512.jpg</string>
</dict>
</array>
<key>metadata</key>
<dict>
<!-- required -->
<key>bundle-identifier</key>
<string>com.example.fooapp</string>
<!-- optional (software only) -->
<key>bundle-version</key>
<string>1.0</string>
<!-- required. the download kind.-->
<key>kind</key>
<string>software</string>
<!-- optional. displayed during download; typically company name -->
<key>subtitle</key>
<string>Apple</string>
<!-- required. the title to display during the download.-->
<key>title</key>
<string>Example Corporate App</string>
</dict>
</dict>
</array>
</dict>
</plist>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值