如题
如何将非正规的ios应用程序提供给用户下载,需要准备2个东西 1文件服务器(oss服务器) 2带签名的ipa包
我们大致的步骤是 1 上传ipa包到文件服务器,2拿到ipa包的下载链接 写入另外的一个文件(plist), 3 html注意标签
第一步忽略
第二步
拿到ipa的下载链接后 我们开始制作一个后缀plist的文件
java代码
public static Map<String, Object> returnPlist(String ipaUrl, String logoUrl, String version) {
Map<String, Object> map = new HashMap<>();
System.out.println("==========开始创建plist文件");
// 这个地址应该是创建的服务器地址,在这里用生成到本地磁盘地址plistpath
File file = new File(ConstantProperties.PLIST_PATH);
if (!file.exists()) {
file.mkdirs();
}
String plistFile = "a.plist";
final String PLIST_PATH = "./" + plistFile;//ConstantProperties.PLIST_PATH + plistFile;
file = new File(PLIST_PATH);
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
String plist = "<plist version="1.0">\n"
+ "<dict>\n"
+ "<key>items</key>\n"
+ "<array>"
+ "<dict>"
+ "<key>assets</key>\n"
+ "<array>"
+ "<dict>"
+ "<key>kind</key>\n"
+ "<string>software-package</string>\n"
+ "<key>url</key>\n"
+ "<string>" + ipaUrl + "</string>\n"
+ "</dict>\n"
+ "<dict>"
+ "<key>kind</key>\n"
+ "<string>full-size-image</string>\n"
+ "<key>needs-shine</key>\n"
+ "<true/>"
+ "<key>url</key>\n"
+ "<string>"
+ logoUrl
+ "</string>\n"
+ "</dict>\n"
+ "<dict>"
+ "<key>kind</key>\n"
+ "<string>display-image</string>\n"
+ "<key>needs-shine</key>\n"
+ "<true/>"
+ "<key>url</key>\n"
+ "<string>" +
logoUrl
+ "</string>\n"
+ "</dict>\n"
+ "</array>\n"
+ "<key>metadata</key>\n"
+ "<dict>"
+ "<key>bundle-identifier</key>\n"
+ "<string>标识</string>"
+ "<key>bundle-version</key>\n"
+ "<string>版本号</string>\n"
+ "<key>kind</key>\n"
+ "<string>software</string>\n"
+ "<key>subtitle</key>\n"
+ "<string>oa_app</string>\n"
+ "<key>title</key>\n"
+ "<string>oa_app</string>\n"
+ "</dict>\n"
+ "</dict>\n"
+ "</array>\n"
+ "</dict>\n"
+ "</plist>\n";
try {
FileOutputStream output = new FileOutputStream(file);
OutputStreamWriter writer;
writer = new OutputStreamWriter(output, "UTF-8");
writer.write(plist);
writer.close();
output.close();
//IoUtil.write();
String uuId = UUID.randomUUID().toString().toString().replace("-", "");
map = AliyunOSSUtil.upload(file, uuId);
} catch (Exception e) {
System.err.println("==========创建plist文件异常:" + e.getMessage());
}
System.out.println("==========成功创建plist文件");
return map;
}
制作完plist文件后继续上传到文件服务器,拿到这个plist的链接就可以进行第三步
第三步
注意一下 下载前缀 必须是itms-services://?action=download-manifest&url= plist下载url
<!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>
就ok了