非企业账号能通过添加设备的UDID到开发者账号,从而打出IPA分发吧
1、先获取IOS的设备UDID,并添加到Devices里面
2、生成 Provisioning Profile 文件:
添加一个新的Profiles,
在Distribution选项里面选择Ad Hoc 类型,
然后在Generate a Provisioning Profile 页面选择要打包的AppID
Generate a Provisioning Profile 页面选择证书,如果没有证书,会提示你创建一个,这里已经有证书,直接选择。后面会讲如何创建证书
接下来就是选择要给哪些设备授权,一般全选就行
然后起个名字就行完成Profiles的创建了。这里的重点是得要选择Distribution选项里面选择Ad Hoc 类型
3、创建一个分发的证书
如图,绿框里有两种类型的证书,一种是Development即开发者类型,还有一种Distribution分发类型,我们这里要创建的是Distribution类型的证书,在创建证书时类型选项要选 iOS Distribution (App Store and Ad Hoc)
然后按照提示,选择在MAC上面生成好的CSR文件。一个新证书就完成了
把证书文件下载完之后。双击文件。就把证书添加到电脑上。同样,把Provisioning Profile文件下载完成之后。双击就能导入到XCode里面
到此,开发者账号上的证书和Provisioning Profile都设置好,并导入到电脑里,接下来设置XCode
4、XCode设置
1)把自动管理签名的选项关掉
2)在下面四个签名类型里面选择之前导入的Provisioning Profile。选择完成之后,Team和Signing Certificate都会从Provisioning Profile里面识别出相应的数据。为了保证正确,可以查看Signing Certificate是否是Distribution类型的
设置完成之后,将编译的目标机器设置成 “iOS Device”,然后点击”Product”–>“Archive”,如图所示:
Archive 成功之后,就可以在 Xcode 的 Organizer 中看到相应的文件。随着XCode升级之后,Organizer 的面板也有相应的改变,没有export选项。新的面板操作如下,点击Distribute App
选择Ad Hoc选项,然后一路Next下去就行。如图所示
这里全部不要选
在这个页面,要选择分发的证书和Profile即上面创建的证书和Profile
然后直接导出就行
这样,我们就获得了需要的IPA文件,这里有几个需要注意的地方,用发布类型的签名,不能通过数据线打包到手机上,直接打到手机上是会黑屏的。需要下载安装,有新的UDID添加之后,Profile要把这个UDID添加到测试列表里面,并且Profile文件必须得重新下载导入到XCode里面,并且重新打包,因为不是联网验证,身份数据都是Profile文件里面,就算在开发者账号里面添加UDID加进去了。没有重新导入Profile文件,旧包是不会识别新添加的设备
5、使用itms-services协议安装IPA包(plist的方式)
1)首先搭建一个Https的服务器,网上有很多Https服务器的插件,直接用就行
2)创建一个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>http://.../xxx.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>xxx</string>
<key>bundle-version</key>
<string>1.1.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>应用名称</string>
</dict>
</dict>
</array>
</dict>
</plist>
注释:
1、发布IPA的版本号:
修改<key>bundle-version</key> 标签对应的 <string>1.1.0</string> 内容为新的版本号
备注:bundle-version :当前部署IPA的版本号
2、发布IPA的路径:
<key>url</key> 标签对应的 <string>xxx.ipa</string> 内容为新的路径。(如果路径、IPA文件名字没变,则不需要修改)
备注:url :存放IPA安装包的路径地址
3)编写一个简单的HTML页面,提供下载,HTML示例
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Install</title>
</head>
<body>
<p align=center>
<font size="10">
<a style="color:#69DEDA" href="itms-services://?action=download-manifest&url=https://.../xxx.plist">点击安装</a>
</font>
</p>
</body>
</html>
注释:
* 我们可以看到 “href=” 里面是指向了 plist 文件的地址(而不是IPA安装包的地址)
* 最好还是使用iPhone设备自带的Safari浏览器打开该页面,点击下载。
这样。就能通过Safari浏览器打开链接安装打好的IPA包