作者:手机用户2502915601 | 来源:互联网 | 2023-09-02 10:46
研究一个Mac应用程序,你将会发现.app扩展名表示的并不是一个文件,而是一个目录。这个目录是应用程序的程序目录。在这个目录下有一个经过组织的结构,包含了应用程序运行所需要的资源,
研究一个Mac应用程序,你将会发现.app扩展名表示的并不是一个文件,而是一个目录。这个目录是应用程序的程序目录。在这个目录下有一个经过组织的结构,包含了应用程序运行所需要的资源,应用程序相关属性列表,以及应用程序的可执行的二进制文件。iphone SDK构建程序的二进制可执行文件,并将它所需要的文件保存在这咱程序目录结构中。因此,为了构建完整的应用程序,开发者需要告知Xcode IDE需要安装哪些支持文件。在iPhone上,应用程序在沙箱中执行。沙箱是一个受限的环境,禁止应用程序访问未授权的资源。沙箱的一个功能是禁止在应用程序所指定的主目录之外进行任何读写操作。应该程序运行所需的一切都必须包含在身身的目录结构内。此外,应用程序并不知晓自己的安装位置,每次安装时,都会有一个唯一标识被添加到你的应用程序路径中。应用程序只能通过NSHomeDirectory这样的函数或NSBundle这样的类来查找路径。
iphone应用程序剖析