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 证书

iOS企业版打包 发布在线安装包 plist

点击红色方框的+图标

iOS企业版打包 发布在线安装包 plist

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

iOS企业版打包 发布在线安装包 plist

2、创建Provisioning Profiles

iOS企业版打包 发布在线安装包 plist

选择In House ,点击继续

iOS企业版打包 发布在线安装包 plist

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

iOS企业版打包 发布在线安装包 plist

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

iOS企业版打包 发布在线安装包 plist

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

3、创建IPA及plist

iOS企业版打包 发布在线安装包 plist

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

iOS企业版打包 发布在线安装包 plist

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

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

iOS企业版打包 发布在线安装包 plist

选择 Export,

iOS企业版打包 发布在线安装包 plist

选择Save for Enterprise Deployment,next

iOS企业版打包 发布在线安装包 plist

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

iOS企业版打包 发布在线安装包 plist

截止目前为止,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

上一篇:Ubuntu安装文泉驿-微米黑字体


下一篇:集成树模型使用自动搜索模块GridSearchCV,stacking