文档章节

动态生成ios plist的方法

go4it
 go4it
发布于 2017/02/13 16:42
字数 256
阅读 10
收藏 1
iOS

##freemarker模板

<?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>${ipaDownloadUrl}</string>
                    </dict>
                </array>
                <key>metadata</key>
                <dict>
                    <key>bundle-identifier</key>
                    <string>${identifier}</string>
                    <key>bundle-version</key>
                    <string>${version}</string>
                    <key>kind</key>
                    <string>software</string>
                    <key>subtitle</key>
                    <string>${subtitle}</string>
                    <key>title</key>
                    <string>${title}</string>
                </dict>
            </dict>
        </array>
    </dict>
</plist>

##controller

	@RequestMapping(value = "/plist/{id}",method = RequestMethod.GET)
    public void plist(HttpServletResponse response,@PathVariable String id) throws IOException, TemplateException {
        
        Map<String,Object> data = new HashMap<>();
        //put variables
        //....
        //convert to string
        String content = FreemarkerUtil.generateContent("plist.ftl",data);
        response.setHeader("Content-Type", "application/octet-stream; charset=utf-8");
        response.setHeader("Content-Disposition",
                "attachment;filename=app.plist");
        response.getWriter().write(content.toCharArray());
    }

##下载页面 参考二维码app下载方案

##坑 对于这个plist的接口,如果不是PathVariable的参数,而是RequestParam这种,通过itms-services无法发送对plist的请求,后来把参数都改为经过PathVariable才可以。

itms-services://?action=download-manifest&url=https://xxxxxx/plist/xxxxx

##doc

© 著作权归作者所有

共有 人打赏支持
go4it
粉丝 64
博文 739
码字总数 532777
作品 0
深圳
itms-services协议:跳转网页部署及PHP动态生成 iOS渠道包IPA一键安装之plist

相信很多人尝试过使用揣果测试库(http://ipa.chuaiguo.com/)的无线安装测试IPA安装包功能。有心人一定注意到其itms-services协议的一键安装地址的url=部分并不是我们常见的plist文件路径,而...

pcjbird
2015/08/01
0
1
iOS 6.0旋转兼容的那点事

这两天问答系统里,问ios横竖屏切换、还有状态栏旋转的问题有点多,来些小心得,希望遇到的人少走弯路; 先贴官方说明: iOS 6.0 Release Notes: Autorotation is changing in iOS 6. In iOS...

董桉远
2013/04/07
0
1
iOS使用Objective-c自定义cordova插件(二)

接上一章. 中还有其它的配置、、、以及配置文件. eg: 框架: <framework src="CFNetwork.frame" weak="true"/> plist文件: <resource-file src="src/ios/PushConfig.plist"/> 默认的info.plis......

Michaelyn
2017/10/23
0
0
dropbox 死掉后 IOS 7.1 应用发布替代解决方案

由于大家都知道的原因Dropbox 挂掉了,免费的 https文件分享链接没有了,广大通过 dropbox https 分享链接来发布ios应用的童鞋悲剧了 。今天就给大家支个招儿。 分析 ios 7.1 安装链接 格式 ...

LuoZhihui
2014/07/11
0
0
IOS之Info.plist文件简介

元信息简介 为了提供更好的用户体验,IOS 和 OS X的每个app或bundle都依赖于特殊的元信息(meta Information). 元信息有多种用途,包括 直接向用户展示信息 系统内部用来标识你的app或其支持的...

big军
2013/01/23
0
3

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
今天
2
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
5
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
4
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
5
0
中秋快乐!!!

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部