`
janedoneway
  • 浏览: 582163 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

iPhone开发进阶(2) --- iPhone应用程序/项目的构成

 
阅读更多

 

开发iPhone程序,首先接触到的不是源代码,而是项目工程文件,目录。我们来看看它有怎样的构成。

iPhone应用程序目录构成
iPhone应用程序被放入一个叫做沙盒(sandbox)的具有安全性的构造中。程序只能访问自己沙盒中的资源。

iPhone 应用程序与 Mac OS 上的程序基本上相同、 只是程序目录下有一些不同。可以通过 AddressBook 等构造访问其他的功能或构造体。

iPhone 应用程序的目录构造如下所示:

 /Applications/
 [Application1]/
  Application1.app
  Documents/
  Library/
  tmp/
 [Application2]/
  Application2.app
  Documents/
  Library/
  tmp/

工程项目的构成
工程项目的构成虽然根据程序不同而不同,但基本上都是基于MVC模型,所以按照 Model、Controller、View 来组织目录形式。

比如以下的目录构成:

Classes
Libraries (各种中间件,程序库等)
JSON
ImageStore
其他程序模块
Controllers (与 View Controller 相关的类)
UIApplicationDelegate
UIViewController
Views (定制的视图,程序界面)
UITableViewCell的子类
UIView的子类
项目文件构成
接下来我们再看看程序工程中还有什么:
 HelloWorld
|-- Classes
|   |-- HelloWorldAppDelegate.h
|   |-- HelloWorldAppDelegate.m
|   |-- HelloWorldViewController.h
|   `-- HelloWorldViewController.m
|-- HelloWorld.xcodeproj
|-- HelloWorldViewController.xib
|-- HelloWorld_Prefix.pch
|-- Info.plist
|-- MainWindow.xib
|-- build
|   `-- HelloWorld.build
`-- main.m

.pch
预编译头文件,win32里经常会碰到,这里也有,包含了常用的头文件。
.plist
包含了项目自身的特性,比如说项目名称,默认加载的nib file,版本等。
.xib
程序的资源文件。用于简化编码过程,提高开发效率。
main.m
iphone程序的入口,类似于C/C++中的main函数。
main函数如下所示:

 int main(int argc, char *argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
}

main函数的参数 argc 以及 argv[] 与C语言中的意思一样,支持命令行的输入。

接下来创建一个NSAutoreleasePool对象,用来自动管理程序的内存。

1 NSAutoreleasePool * pool = NSAutoreleasePool alloc] init];

最主要的是下面的 UIApplicationMain 的调用,通过它完成系统启动的过程,并形成一个事件驱动。

1 int retVal = UIApplicationMain(argc, argv, nil, nil);

关于 iPhone 应用程序具体的启动过程,我们下回讲解

作者:易飞扬

分享到:
评论

相关推荐

    知易Cocos2D-iPhone 游戏开发教程005

    在本教程“知易Cocos2D-iPhone 游戏开发教程005”中,我们将深入探讨Cocos2D-iPhone这一强大的游戏开发框架,它为iOS平台上的2D游戏开发提供了丰富的功能和易用性。Cocos2D-iPhone是基于Cocos2D的一个版本,特别针对...

    西蒙iphone-OpenGL ES

    通过以上总结,我们可以了解到OpenGL ES在iPhone开发中的基础应用,包括基本的图元绘制、坐标系统以及简单的三维图形渲染。这对于初学者来说是一个很好的入门点,同时也为更高级的应用开发打下了坚实的基础。

    Learn_IPhone_5_and_IPad_2_Cocos2D_Game_Development

    - **开发环境**:需要熟悉Xcode开发环境,它是官方推荐的iOS应用程序开发工具。 #### 知识点四:游戏项目实践 - **首个项目**:第四章将指导读者完成第一个游戏项目的开发,这是一个非常好的实践机会,可以让初学...

    iphone 开发秘籍代码 1到5章

    在iOS开发领域,iPhone应用程序的构建是通过使用Apple的Swift编程语言和Xcode集成开发环境(IDE)进行的。这份“iPhone开发秘籍代码 1到5章”涵盖了开发过程中的关键概念,从基础到进阶,让我们逐一解析每个章节的重点...

    android2.1开发培训ppt

    Android 2.1不仅提升了系统的性能,还引入了许多新功能,使得开发者可以构建更加强大和丰富的移动应用程序。 在Android 2.1开发中,你需要了解以下几个核心知识点: 1. **3G 技术**:3G(第三代移动通信)是基于...

    iPhoneAppProgrammingGuide

    文档内容涵盖了iPhone应用程序开发的各个方面,主要包括以下几个部分: 1. **简介**:介绍了iPhone应用程序的基本概念和发展背景。 2. **环境搭建**:指导开发者如何设置开发环境,包括安装Xcode等工具。 3. **基础...

    一步一步学习iOS5编程(第三版)

    - **项目结构**:介绍iOS项目的基本构成,包括项目的组织方式、文件夹用途等。 - **工程设置**:讲解如何在Xcode中创建新的iOS工程,设置项目基本信息。 ##### 2. 开始编写代码! - **界面设计**:利用Interface ...

    iOS开发快速入门.zip

    iOS是由Apple公司开发并用于其移动设备,如iPhone、iPad和iPod touch的操作系统。它基于Darwin,一个开源的Unix系统,拥有丰富的用户界面和强大的性能。iOS以其封闭的安全模型和严格的应用审核流程而闻名,确保了...

    Learn.cocos2d.Game.Development.with.iOS.5

    cocos2d是一款开源的2D游戏开发框架,特别针对iOS设备(如iPhone、iPad和iPod touch)进行了优化。它提供了一系列强大的工具和API,使得游戏开发变得更为直观和高效。无论是专业游戏开发者还是编程新手,都能从中...

    cocos2d中文学习第一部分(1到7章)

    《cocos2d中文学习第一部分(1到7章)》是针对iPhone平台上的cocos2d游戏开发框架的学习资料,旨在帮助初学者快速掌握这一强大的2D游戏开发工具。cocos2d是一款开源的游戏引擎,它为开发者提供了丰富的功能和易用的...

    android学习文档

    3. Android与iPhone的竞争:Android与苹果的iOS构成了智能手机市场的两大巨头,两者在用户体验、应用生态和硬件支持上各有优势。Android的优势在于其开放性,允许更多的定制和自由度,而iOS则以其出色的用户体验和...

    From Idea to App: Creating iOS UI, animations, and gestures

    它不仅适合初学者快速入门,也能够为有一定基础的开发者提供进阶指南,帮助他们在实际项目中解决具体问题并提高工作效率。无论你是设计师还是开发者,都可以从这本书中获取到大量实用信息,助力你在iOS平台上创造出...

    Unity3D总稿

    发布构建是将Unity项目转化为可在不同平台上运行的应用程序的过程。Unity支持多种平台,包括Windows、macOS、iOS、Android等。开发者只需简单配置即可实现一键发布,大大简化了跨平台开发的工作流程。 **教程:** ...

Global site tag (gtag.js) - Google Analytics