我们在上传ipa想要安装的时候必须要通过plist文件去下载,并且还要遵循 itms-services协议。
意思就是,第一步我们要生成一个plist文件,
第二步生成一个html文件,用来指向plist文件
这是生成好的plist文件
items
assets
kind
software-package
url
http://192.168.192.198:8186llk9_60070_60070/218/218_llk9_60070.apk
metadata
bundle-identifier
com.juefeng.lq
bundle-version
1.0.0
kind
software
title
连连看9
生成plist文件的方法
/**
* 生成plist文件
*
* @return
*/
public String createPlist(CGame game, String packageName, String filePath,
Logger log) {
log.info("====开始创建plist文件====");
// 这个地址应该是创建的服务器地址,在这里用生成到本地磁盘地址
File file = new File(SubConfig.PLIST_PATH);
if (!file.exists()) {
file.mkdirs();
}
file = new File(SubConfig.PLIST_PATH + game.getId() + "/");
if (!file.exists()) {
file.mkdirs();
}
// 生成的plist路径名称
final String PLIST_PATH = SubConfig.PLIST_PATH + game.getId() + "/"
+ packageName + ".plist";
File plistFile = new File(PLIST_PATH);
if (!plistFile.exists()) {
try {
plistFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
String plist = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ ""-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n"
+ "\n"
+ "\n"
+ "items\n"
+ "\n"
+ "\n"
+ "assets\n"
+ "\n"
+ "\n"
+ "kind\n"
+ "software-package\n"
+ "url\n"
// 你之前所上传的ipa文件路径
+ "" + filePath
+ "\n"
+ "\n"
+ "\n"
+ "metadata\n"
+ "\n"
+ "bundle-identifier\n"
// 这个是开发者账号用户名,也可以为空,为空安装时看不到图标,完成之后可以看到
+ "com.juefeng.lq\n"
+ "bundle-version\n" + "1.0.0\n"
+ "kind\n" + "software\n"
+ "title\n" + "" + game.getName()
+ "\n" + "\n" + "\n" + "\n"
+ "\n" + "";
try {
FileOutputStream output = new FileOutputStream(plistFile);
OutputStreamWriter writer;
writer = new OutputStreamWriter(output, "UTF-8");
writer.write(plist);
writer.close();
output.close();
} catch (Exception e) {
log.info("====创建plist文件异常:" + e.getMessage());
}
log.info("====成功创建plist文件====");
return PLIST_PATH;
}
下载方法
Iphone Download
生成的时候注意文件下载路径filePath是上传了ipa的地址。