• 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文件上传至服务器,

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

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

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

    application/octet-stream ipa
    
    text/xml plist
    • 原始plist文件如下:
    [html] view plaincopy在CODE上查看代码片派生到我的代码片
     
    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下载地址。

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

  • 相关阅读:
    dfs模板
    24点
    个人阅读三
    个人阅读作业2:关于项目经历的心得
    代码复审
    Pair Project1:电梯控制程序
    第二次个人项目——阅读经典教材
    THE First Individual Project
    个人阅读作业3
    个人阅读作业2
  • 原文地址:https://www.cnblogs.com/Camier-myNiuer/p/6406093.html
Copyright © 2020-2023  润新知