iOS企业版打包 发布在线安装包 plist
2017-02-16 15:50
399 查看
本文转载至 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 证书
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/648a76a00800b3a26150ca6adc2aa5cf)
点击红色方框的+图标
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/349d9c86503411bb82abde9b0013fdd1)
选择In-house and Ad Hoc,由于已经创建过该类证书,所以不能再次创建。点击continue后会要求上传证书请求文件,具体的证书创建过程请参考http://blog.csdn.net/abbottsuccess/article/details/4445160。证书生成后下载(cer)文件,双击安装,可在钥匙串中查看到已安装的证书
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/07/e3681804c2707b48dac2120f8ada8ee9.png)
2、创建Provisioning Profiles
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/2ae87cb75e99105758351bee08247ee8)
选择In House ,点击继续
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/07/7c6688fc98c257d30a19de08399d5509.png)
选择App ID(关于如何创建APP ID请查看步骤一的链接),继续
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/07/af00bbd2deef10f206cd91038289b210.png)
选择步骤一创建的发布证书(别选错),继续
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/07/91f2eab866cc2906c2abc345046c0322.png)
下载,之后双击安装该文件(安装时间很短,确定双击即可)
3、创建IPA及plist
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/0e29ccc5dea6b8c0c4f748326bd142b9)
打开Xcode,点击左上角的工程名称,在TARGETS中点击工程名,选中顶部的General, Team选择为在 iOS Developer Enterprise Program创建的账号。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/8dde93f829898823c9c1aec09a0a241b)
选择工程,在Build Settings中的Code Signing中将Debug、Distribution、Release全选择为步骤一中安装好的证书,Provisionning Profile选择为所下载的那个文件。返回到TARGETS,在Build Settings中进行同样的操作。
在Xcode的菜单栏上选择Product -> Archive
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/3e8a102cfe65f22d162b50899a9ede89)
选择 Export,
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/2705a0b0b5b23d9051846a8f883dffe0)
选择Save for Enterprise Deployment,next
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/b5b8da6bfb86d2f6d8aeba1ec20fc388)
按要求选择账号,然后继续即可,最后就是导出ipa了(注意,没有任何Save for Enterprise选项)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/ee31691e2aa43cb527bc2fcae0cac796)
截止目前为止,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
创建网页,包含如下代码:<a href="itms-services://?action=download-manifest&url=https://mydomain.com/apps/MyInHouseApp.plist" id="text">Install the In-House App</a>
[html] view plaincopy
url必须是https,否则ipa无法安装。
2)有些服务器可能还需要配置一些mime type,如下:
原始plist文件如下:
[html] view plaincopy
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/a7c8e286f463007e2a900848b93dd72c.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/9e12f1d3e499fc949c886e7c9e0484f9)
<?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下载地址。
最后贴图,证明上述所说的都不是扯蛋
原文转载: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)文件,双击安装,可在钥匙串中查看到已安装的证书
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/07/e3681804c2707b48dac2120f8ada8ee9.png)
2、创建Provisioning Profiles
选择In House ,点击继续
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/07/7c6688fc98c257d30a19de08399d5509.png)
选择App ID(关于如何创建APP ID请查看步骤一的链接),继续
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/07/af00bbd2deef10f206cd91038289b210.png)
选择步骤一创建的发布证书(别选错),继续
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/07/91f2eab866cc2906c2abc345046c0322.png)
下载,之后双击安装该文件(安装时间很短,确定双击即可)
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
创建网页,包含如下代码:<a href="itms-services://?action=download-manifest&url=https://mydomain.com/apps/MyInHouseApp.plist" id="text">Install the In-House App</a>
[html] view plaincopy
url必须是https,否则ipa无法安装。
2)有些服务器可能还需要配置一些mime type,如下:
application/octet-stream ipa text/xml plist
原始plist文件如下:
[html] view plaincopy
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/a7c8e286f463007e2a900848b93dd72c.png)
<?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
- ios无线方式安装应用程序-苹果企业证书打包的客户端如何使用plist下载
- iOS开发之企业发布无线安装APP
- IOS 7.1 在线安装IPA(OTA无线发布)整理
- ios app 企业帐号发布,在浏览器中直接点击链接下载安装
- IOS企业账号打包发布
- ios app 企业证书分发及在线安装
- IOS 企业版发布后,用户通过sarafi浏览器安装无效的解决方案
- ios开发企业版plist发布In-House简单记录
- IOS开发---企业版打包发布
- ios 企业发布ipa 和 plist
- 企业账号打包的app安装图解(适用iOS 9)
- iOS企业ipa(299)证书制作、打包发布全流程
- iOS企业ipa(299)证书制作、打包发布全流程(亲测,成功)
- xcodebuild命令行编译打包iOS应用和企业发布
- IOS发布,Archive打包,ipa不用发布安装到任意机子上
- iOS企业开发In House ipa发布流程--自制网页安装设备无需授权和越狱
- [IOS]企业发布无线安装APP
- ios用企业证书发布app的心得之三web安装
- iOS企业ipa(299)证书制作、打包发布全流程