【原创】我所理解的自动更新-知识点讲解
itms-services协议
可以通过safari,chrome等浏览器直接在IOS设备上安装应用程序。适用于安装企业签名或者已绑定设备id的测试签名的IPA。itms-services协议需要的文件有:一个ipa文件,一个plist文件,一个html文件和一个图片文件。其中,最主要的,就是plist文件。
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3 <plist version="1.0"> 4 <dict> 5 <key>items</key> 6 <array> 7 <dict> 8 <key>assets</key> 9 <array> 10 <dict> 11 <key>kind</key> 12 <string>software-package</string> 13 <key>url</key> 14 <string>http://xxxxx/xxxx.ipa(安装包的url)</string> 15 </dict> 16 <dict> 17 <key>kind</key> 18 <string>display-image</string> 19 <key>needs-shine</key> 20 <true/> 21 <key>url</key> 22 <string>图片的地址</string> 23 </dict> 24 <dict> 25 <key>kind</key> 26 <string>full-size-image</string> 27 <key>needs-shine</key> 28 <true/> 29 <key>url</key> 30 <string>图片的地址</string> 31 </dict> 32 </array> 33 <key>metadata</key> 34 <dict> 35 <key>bundle-identifier</key> 36 <string>和ipa中的相同)</string> 37 <key>bundle-version</key> 38 <string>1.0.0</string> 39 <key>kind</key> 40 <string>software</string> 41 <key>subtitle</key> 42 <string>Tue</string> 43 <key>title</key> 44 <string>Tue</string> 45 </dict> 46 </dict> 47 </array> 48 </dict> 49 </plist>
苹果从ios7.1开始,用户安装app,需要使用https协议,来下载plist文件。那么,需要自己建立服务器添加https签名,或者将plist文件放在第三方平台托管,我的选择是使用(github,oschina)。
ssh无密码登陆、传输
实现步骤:
1.在你的自己的机器下面使用ssh-keygen命令来实现创建公钥
使用 ssh-keygen -t rsa 来创建密钥,程序会问你存放的目录,如果不需要修改,直接回车两次即可
2.将你~/.ssh目录中的id_rsa.pub这个文件拷贝到你要登录的服务器的~/.ssh目录中,然后再运行以下命令来将公钥导入到~/.ssh/authorized_keys这个文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,注意是管道符是 >>,你可以将很多机器加进去。完毕之后,退出服务器的登录,再使用ssh登录,你就会发现服务器不会再向你询问密码了。当然这个顺便也解决了,scp拷贝的授权问题。
1 scp -P %PUSH_SSHPORT% xx.zip %SSHUSER%@%PUSH_SSHSERVER%:/xx 2 ssh -p %PUSH_SSHPORT% %SSHUSER%@%PUSH_SSHSERVER% "ls /"
UA判断浏览器是在ios还是android上运行
ua本身是可以通过浏览器修改或者伪造的,我们不考虑被伪造的情况。
1 <?php 2 $agent = strtolower($_SERVER['HTTP_USER_AGENT']); 3 if(strpos($agent, 'iphone')){ } //iPhone设备 4 if(strpos($agent, 'ipad')){ } //iPad设备 5 if(strpos($agent, 'android')){ } //Android设备 6 其他设备 7 ?>
我们可以根据设备类型显示不同的网页内容,比如ios设备打开xxx.php可以直接下载ipa或者去appstore更新。
【原创】我所理解的自动更新-概要
【原创】我所理解的自动更新-环境搭建和协议制定
【原创】我所理解的自动更新-外网web服务器配置
【原创】我所理解的自动更新-APP发布与后台发布
【原创】我所理解的自动更新-资源打包流程
【原创】我所理解的自动更新-客户端更新流程
【原创】我所理解的自动更新-知识点讲解