iPhone-软件开发

寻找到一些IPHONE相关资料,对IPHONE app初步了解,本资源来自网络,本人手打整理和大家分享。

 

IPHONE 应用程序开发

 Lesson I. 你好 iphone App

IPHONE OS 概览

  • iPhone OS 基于Mac OSX同样的Mach内核(kernel)
  • iPhone App由图示的OS技术层支撑起来
  • Core OS 和Core Services层提供的底层支持,包括文件访问、网络协议、低级数据类型、Bounjour服务等
  • 它们是C基础的接口,包括Core Foundation,CFNetwork SqlLite 等API
  • Media层 提供了一些基本的2D,3D绘图。声音和视频技术支持
  • 包括基于C的OpenGL ES, Quartz ,Core Aduio
  • 以及基于Objective-C的CoreAnimation等
  • Cocoa Touch 层包括了大部分使用Objective-C api
  • 主要由 Foundation 和UIkit连个框架组成
  • Foundation 提供了面向对象的恩见访问,网络操作数据/集合类型
  • ULkit 提供了App中主要的UI 空间和控制器类等
  • 在进行IPhone APP开发时,应该从上至下的使用这些技术层次
  • Cocoa Touch 层提供了基本的系统行为支持,而且将您的工作量降到最低
  • 当你想要实现更为复杂的行为和见面时,可以考虑下层探寻技术支持

 

认识IPHONE APP

  • App 核心结构    

    • 从APP被用户打开,知道它退出,都是有UIKit框架在管理者大部分的底层机制
    • UIKit提供了一些程序行为所必须的关键对象,近视APP能够捕获用户输入和在屏幕上显示内容
    • UIKit 使用每个App 唯一的UIApplication 对象来接受用户的输入
    • 然而对用户的输入最为反馈则是我们的代码应该完成的部分
  • App的生命周期

    iPhone-软件开发_第1张图片
    • 启动(Launch)
    • 事件循环(Event Loop)
    • 终止(Termination)

iPhone-软件开发_第2张图片

 

 

 

 

 

 

 

 

 

 

    • 事件处理周期

  捕获事件->包装事件(UIEvent)->处理事件->返回显示

iPhone-软件开发_第3张图片

    • 在主循环中处理事件

系统捕获事件->将时间传递给可以响应的对象->响应对象处理事件,或传递事件->如果事件没有被处理,则被放弃

  • App 沙盒
    • 出于安全因素的考虑,iPhone OS将各个App 分别严格的存放在文件系统的独立位置
    • 这样的机制称为 ”沙盒“(Sandbox)
    • 在iPhone OS 里,每个App的文件都被安全的保管起来,别的App无法访问
    • App 也不能对沙盒外的文件系统,包括系统文件等进行访问
    • 在App的安装过程中,系统为每个App生成它的主目录和一些关键的子目录,同城路径为:/ApplicationRoot/ApplicationID/
  •     APP包 APPLICATION BUNDLE
    • 在编译App时,Xcode将它整理成一个包(Bundle)
    • App包是文件系统中的一个目录,将相关的文件都集中放到一个地方
    • App包里的主要包括了App的可执行文件和App所需要的资源文件
  • APP包的典型成分
MyApp.app 可执行文件
Icon.png App图标
MainWidow.nib 主装口xib文件
Default.png 加载时图片
iTunesArtwork iTunes图片
Info.plist 配置文件
Resource files 资源文件

iPhone-软件开发_第4张图片

INFO.PLIST

 

开发条件限制
Limitations in Development

  • 显示面积
    • 320*480,3.5英寸,162dpi
    • 尽可能少而今草的界面元素
    • 足够大的交互控件
  • 文件大小
    • 有限的存储空间
    • 下载的时间和费用
    • 资源加载速度
  • 内存空间
    • 128M,更多的程序运行控件
    • 内存管理和优化
    • 避免过高质量的图片和音频
  • 程序运行限制
    • 一次只有一个前台程序
    • 不可开发后台运行程序
    • 程序退出时间不得超过5秒钟
  • 数据访问
    • 不能使用别的App中静态类库
    • 不能访问沙盒外的任何文件,也不能把沙河内的文件共享出去
    • 可以通过特定的API访问一些系统自选,如图片库、地址薄等
    • 在有网络连接时可以允许访问网络资源
  • 能量消耗
    • CPU负载
    • 发热,电池消耗过快
    • 算法优化
  • 用户使用习惯
    • 快速启动,短暂使用
    • 随时可能退出
    • 避免多余的“帮助”
    • 自动保存

 

iPhone-软件开发_第5张图片

转载于:https://www.cnblogs.com/djyxmlauto/archive/2012/06/14/2549071.html

你可能感兴趣的:(iPhone-软件开发)