苹果手机搭建php服务器,给自己搭建iPhone Installer软件源
给自己搭建iPhone Installer软件源是本文要介绍的内容,在Jailbreak(越狱)的iPhone手机中,用户可以自己安装使用开源SDK开发的第三方软件。目前国内几乎所有的iPhone或者iPod Touch都有安装Installer程序,有点类似linux上的apt工具,直接通过Wifi或者Edge即可从软件源下载并安装第三方软件。
本文简单介绍如何自己搭建iPhone Installer软件源,这样就可以将自己的iPhone软件发布出去让用户直接安装了。仅仅需要你了解一点php知识以及知道如何用文本编辑器编辑xml文件。
下文所说的"iPhone"也同时适用于iPod Touch。
准备工作:
首先,你需要一个支持php的web空间或者web服务器。当然,如果在自己电脑上开一个apache自己测试也是可以的。
接下来,下载这个例子:
http://iphone.nullriver.com/beta/demo.zip
将其解压缩,里面有2个文件和2个目录。
index.php
这个php基本不用编辑,放到你的webserver做为首页就可以了。
repository.plist
这个文件是我们要进行修改的,是标准的plist格式。可以直接用文本编辑器打开。
你可以修改以下内容:
name
[你自己的installer源的名称]
maintainer
[你的名字]
contact
[你的邮件地址]
url
[软件源地址]
category
[分类]
plists/
这个目录保存的是你准备在源中提供的软件的信息,plists可以包含多个分类,按照目录排列。一个.plist文件包含一个软件。每个分类可以有多个.plist文件。
目录中提供了三个.plist的例子,你可以参考它们的语法。如果不需要这些例子,直接把它们移到别的目录。你可以自己创建包含软件信息.plist文件。
这里的.plist文件主要对软件进行描述,同时在文件中对软件的安装前、安装后、安装过程、更新及卸载进行脚本定义。这样,iPhone中的Installer就可以根据这些.plist文件对软件源中提供的zip包中的内容进行定制的安装了。
这里介绍一下.plist文件中各个key的用法,这样你就可以给自己的软件建立.plist文件了:
bundleIdentifier 必须键值,唯一软件包描述。一旦你指定了这个键,在今后的软件更新时,千万不要修改。否则会引起软件的混乱。命名有些类似java的domain方式。比如你的软件如果叫做myapp,你可以将自己的软件叫做com.mycompany.iphone.myapp。
name 必须键值,名称。这个名称将会在Installer的列表中显示。比如你可以写成“我的软件”。
version 必须键值,版本号。Installer目前只能安装一个特定软件的一个唯一版本。比如你可以写成1.0。
location 必须键值,安装位置。用于指定本软件的.zip文件位置。如果你希望安装执行文件的话,zip文件压缩的时候,必须在zip中保留文件执行权限,比如0755。比如你可以写成http://iphone.mycompany.com/zips/myapp.zip
size 必须键值,zip文件的大小。这个数值必须和你的zip文件完全一致,否则Installer不会安装,以防止文件损坏对iPhone造成的伤害。
url 可选键值,更多信息的链接。.plist文件中如果带有这个地址,用户在Installer中点击More Info就可以直接指向这个地址。比如你可以写成 http://iphone.mycompany.com/myapp/info.html
description 可选键值,软件描述。注意不要写的太长。
maintainer 可选键值,第三方维护人员名字。如果软件是你自己的,那就不需要写这项了。
contact 可选键值,第三方维护人员联系信息。如果软件是你自己的,这项也不需要写。
restartInstaller 可选键值,安装完成后是否需要重启Installer(注意不是重启iPhone)。这个键值设为true,安装后Installer会自动重启。
scripts 必须键值,安装脚本。这个键值包括以下项目:
preflight 可选键值,安装或更新之前执行的脚本。但是在删除软件之前不会执行这段脚本。这个键值主要用于检查软件是否可以进行安装。
install 必须键值,安装脚本。你需要设定这部分脚本,用以将软件安装在iPhone上。
update 可选键值,更新脚本。如果软件需要升级,可以在这个键值中定义升级的脚本。这部分脚本可以用于比较大的软件仅仅升级一部分关键程序或者数据时使用。如果没有定义这个键值,Installer会自动使用install中的安装脚本覆盖旧版本的软件。
postflight 可选键值,安装或更新之后执行的脚本。但是在删除软件之后不会执行这段脚本。
uninstall 可选键值,软件卸载脚本。虽然是可选键值,但是强烈建议你对这部分脚本进行定义,否则Installer将不会显示uninstall选项,意味着你的软件无法正确卸载。
注意:和脚本相关的键值都是数组的形式出现的。数组的写法是:
CommandName 参数 1 参数 2
CommandName用于执行命令,可以带有任意数量的参数,命令甚至可以嵌套。如果Installer执行到无法识别的命令,将会退出安装并通知用户。
比较常用的CommandName有:
>CopyPath
复制文件
带有两个参数,源文件和目标文件。可以是文件,也可以是目录。如果是目录,Installer会将其下的所有子目录全部复制。
源文件如果不指定为绝对路径(前面不带/),Installer会认为这个文件在zip包中。如果指定为绝对路径(前面带/),Installer会认为这个路径是在用户iPhone的文件系统中。
目标文件的路径必须是绝对路径。如果你希望复制目录,请不要带上文件名。
举例:
CopyPath
Launcher.app
/Applications/Launcher.app
就会将zip包中的Launcher.app整个文件夹复制到iPhone的/Applications/Launcher.app文件夹中。
RemovePath
删除文件。
带有一个参数,即需要删除的文件或者目录。如果需要删除多个不同文件或目录,需要建立多个RemovePath命令。
小结:给自己搭建iPhone Installer软件源的内容介绍完了,希望本文对你有所帮助!
本文来自:http://www.cocoachina.com/iphonedev/toolthain/2009/0611/208.html
【编辑推荐】
【责任编辑:李程站 TEL:(010)68476606】
点赞 0
苹果手机搭建php服务器,给自己搭建iPhone Installer软件源相关推荐
- 如何搭建自己的iPhone Installer软件源
如何搭建自己的iPhone Installer软件源 作者: Cocoa China 16 Apr 在Jailbreak(越狱)的iPhone手机中,用户可以自己安装使用开源 SDK开发的第三方软件. ...
- 搭建流媒体服务器 PingOS 平台搭建
搭建流媒体服务器 PingOS 平台搭建 搭建流媒体服务器 PingOS 平台搭建 - 知乎 搭建流媒体服务器 PingOS 平台搭建 - Debug客栈
- windows搭建tftp服务器_Ubuntu中搭建TFTP服务器
参考: 在Ubuntu中搭建TFTP服务器_小拇指的脑瓜子的博客-CSDN博客_ubuntu tftpblog.csdn.net 主要步骤: sudo apt-get install -y xine ...
- win7系统怎么搭建web服务器,win7系统搭建web服务器的操作方法
很多小伙伴都遇到过对win7系统搭建web服务器进行设置的困惑吧,一些朋友看过网上对win7系统搭建web服务器设置的零散处理方法,并没有完完全全明白win7系统搭建web服务器是如何设置的,今天小编 ...
- 安卓搭建虚拟服务器,安卓手机搭建云服务器
安卓手机搭建云服务器 内容精选 换一换 本文介绍使用云手机服务时需要了解的基本概念.云手机是一台包含原生安卓操作系统,具有虚拟手机功能的云服务器,简单来说,云手机=云服务器+Android OS.您可 ...
- python服务器环境搭建_服务器python环境搭建
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python搭建服务器以快捷著称,实际上,我们也可以使用python搭建简易的服 ...
- suse系统搭建ftp服务器,linux suse 搭建ftp服务器
linux suse 搭建ftp服务器 内容精选 换一换 设置HECS登录密码设置Windows云服务器登录密码设置Linux云服务器登录密码登录HECS了解Windows云服务器的登录方式了解Lin ...
- Windows搭建ngrok服务器、Linux搭建ngrok服务器、支持用户管理
微信公众号.支付宝支付等开发要求有公网(外网)服务器.每次调试时,上传代码到服务器很不方便.ngrok很好的解决了这一问题.网上的文章大多是讲怎么在Linux下搭建ngrok服务器.其实依靠云计算的强 ...
- 云服务器 ERP系统搭建,云服务器 ERP系统搭建
云服务器 ERP系统搭建 内容精选 换一换 用户申请创建弹性云服务器后,可以查看任务的创建状态.本节介绍如何查看弹性云服务器的创建状态.登录管理控制台.单击管理控制台左上角的,选择区域和项目.选择&q ...
- 废旧Android手机搭建个人服务器:ksweb搭建Web服务器+Termux、Ngrok实现内网穿透
写在前面: 本篇博客介绍利用废旧手机搭建一个服务器,可以放自己的网页搭建网站 之前闲着没事,低价买了个虚拟主机,放了自己的静态网页,搭建了个人博客引导网站,后来虚拟主机被打死,凑巧了解到相关知识,于是 ...
最新文章
- c语言tcp硬时事通讯程序代码,使用C语言编写基于TCP协议的Socket通讯程序实例分享...
- KDD 2021 | 异质图神经网络的可微元图搜索
- Karma和Jasmine自动化单元测试
- 牛客网【每日一题】4月24日 子序列
- Android LBS系列05 位置策略(一)
- Linux GCC简明教程(编写c语言程序)
- gpedit msc组策略面板 win10在哪里_Win10家庭版找不到本地组策略gpedit.msc解决办法...
- 一个被认可的数据治理框架,到底应该什么样?
- 【网站】Bing每日壁纸API分享
- (63)SPI外设驱动分频模块(二)(第13天)
- eclipse 使用maven 创建springmvc + mybatis
- 征途2服务器显示不出来怎么办,征途2手游进不了游戏怎么办 游戏无法进入解决方法[多图]...
- 开源代码审查工具Sonarqube简单使用
- 静心的全部秘密:你是观照者
- npm 报错 426 Upgrade Required
- 【面经】京东搜索广告算法一面
- 线性代数的本质——线性组合,张成空间和基
- 决策树ID3简单实现
- 二十七、74LS148芯片解析
- (byte)0xaa 0xff
热门文章
- linux系统如何解压rar文件
- 学习记录之显示屏语言模块确定,星瞳学习
- java c3p0 jar包_c3p0 jar包下载-c3p0-0.9.1.2.jar包下载 --pc6下载站
- Microsoft Office 2010组件介绍
- 关于IE6 双倍间距的真正原因
- user reg.php,织梦member/reg_new.php SQL注入漏洞修复
- 万年历php程序含数据库,php之万年历
- redhat linux iso下载
- linux系统用虚拟光驱装win7,用虚拟光驱加载win7或者xp iso镜像文件安装系统的图解步骤...
- Chrome 及驱动各版本下载地址