iphone开发教程(1) iOS大纲

article/2025/10/2 9:24:08

 

iOS 大纲

iOS 由操作系统和应用技术构成。虽然和 Mac OS X 共用了很多技术,但是 iOS 是专门为了移动设备而设计的。当然如果你以前做过 Mac OS X 的应用程序,你会发现很多相似之处,但是很多技术只能在 iOS 里面使用,比如支持多触点和遥感等。

iOS SDK 包含了 API ,文档和一些工具 , 这些工具用来开发、测试、运行、调式和在 App Store 上发布应用。 iOS 的官方 IDE Xcode,Xcode 可以编译,测试和调式你的代码,并且设置断点在你的设备上调式程序,当然在应用的开发阶段你也可以使用 Xcode 上的模拟器来模拟的你的 iOS 环境,同样可以调式、编译和运行。( 业界大型的 iPhone 游戏更多的是用 VS C++ 利用 OpenGL 来开发的, Xcode 只是最后用来集成和测试的。)

这篇文章是从一个比较高的层面来讲解 iOS 的架构,你也可以查看其他的文章帮助你快速了解 iOS 的底层信息。

文章大纲:

1.iOS 技术层级

2. iOS 写代码  

3. 开始 iOS 之旅


1.iOS 技术层级

  iOS 核心层是基于 Mac OS X 的,他们有很多共同点基础类。在核心层上面是服务层( iOS Services ),服务层( iOS Services )是为应用提供 API .

 

Figure 1-1   iOS 技术层级

服务层( iOS Services )大部分是基于 C 语言写的。核心层和服务层( iOS Services )包含了很多基础性的类库,比如底层数据类型 (low-level data types), Bonjour 服务( Bonjour 服务是指用来提供设备和电脑通讯的服务) , 和网络连接类库 (network sockets) 等等。服务层( iOS Services )包括了 Foundation 核心类库, CFNetwork 类库 , SQLite 访问类库 , 访问 POSIX 线程类库和 UNIX sockets 的通讯类库,等等。

在服务层( iOS Services )的上层是多媒体应用层( Media layer ),多媒体应用层是用 c 语言和 Objective-C 混合写成。多媒体应用层包含了基本的类库来支持 2D 3D 的界面绘制,音频和视频的播放。这一层包括了一些基于 C 语言的技术,比如 OpenGL ES, Quartz, Core Audio 。当然也包括了基于 Objective-C 的较高一层次的动画引擎。

多媒体应用层( Media layer )上一层是( Cocoa Touch )层,这一层大部分代码是基于 Objective-C 的。这一层提供了很多基础性的类库 Foundation ,比如提供了面向对象的集合类,文件管理类,网络操作类等等。比如, UIKit 框架提供了可视化的编程方式,比如包含了 window, views, controls controllers 管理这些类。当然 其他的类库也提供了一些非常实用的功能,比如访问用户的通讯录,照片集,重力感应器,和一些访问硬件设备的功能。

如果你想马上开始做一个新项目,那么你最好使用( Cocoa Touch )层,特别你准备使用 UIKit 框架的时候。使用高级别的框架比使用低级别的框架更加容易使用,建议只有当高级别的框架没有现成的方法的时候,才考虑使用更低级别的框架。

更多的技术细节,查看 iOS Technology Overview .

2. 开始为iOS写代码

iOS SDK 支持创建一个图形化的应用程序,这个创建的应用程序可以被创建在iphone的桌面上,并且是独立于其他的程序,比如图片,天气,时钟。它会在一个独立的沙箱里,这个会在以后描述。当你的程序运行的时候,你的程序会占用整个iphone的界面。如果你开发过windows下的应用程序,你肯定熟悉什么叫多文档应用,很遗憾,iOS并不支持多文档模式,iOS的应用只能在独立的窗口下显示,不能在一个应用里多窗口切换。

iOS 中,事件处理模式和经典的桌面系统( windows )是不一样的。经典的事件处理模式是相应鼠标和键盘,因为 PC 的主要外设就是鼠标和键盘。而 iOS 并没有鼠标和键盘,所以 iOS 的事件处理模式是基于触摸的。一个触摸事件可以发生在任何时间,也可以和其他触摸事件组成另外一个事件,比如多触点。这些触摸事件既可以用来检测简单的操作,比如选择和拖放某个项目,也可以检测到复杂的操作,比如滑动(类似与刷卡的动作,在忍者水果中的切的效果)、捏开和捏拢(照片的放大、缩小操作)。

当你准备做一个 iOS 应用程序时,你不仅仅要考虑程序的代码结构,基于什么基础构架,更重要的是考虑这个应用的用户会怎么使用它。 iOS 应用程序应该是操作和界面都简洁的,而且关注于最终用户的实际需求。记住,你的用户很忙,他需求的是最快的获得他所要的信息,而不是花很多时间在一些华而不实的界面之间切换来切换去。所以请提供一个简单的界面布局,并且把关键的信息放在醒目的位置。在游戏或者其他一些娱乐类应用,你可以考虑多增加一些互动性的技术,比如重力感应和摄像头技术,这在其他游戏平台是不多见的。

当你第一次开发 iOS 应用的时候,你很可能只使用 Foundation UIKit 框架,这两个框架提供了基础的 API 支持和一些关键的服务。不过当你想提升你应用程序的档次的时候,你可能会需要集合其他一些框架。下面这些链接可以帮助你学习更多的框架知识。

查看更多技术细节看   Foundation Framework Reference   UIKit Framework Reference .

 

3. 开始 iOS 之旅

创建一个简单的 iOS 应用程序最简单的是使用 Xcode 的模版,当然如果你希望你的应用程序非常好用而且界面美观,你还是需要多阅读一点相关的文档。至少你应该阅读一下如何使用 Xcode 和怎么样一步一步创建应用程序的文章,在官方的 iOS Dev Center

如果你是对 iOS Mac OS X 一无所知,那么你需要花点时间去理解平台的基础设计模式和内部结构。因为只有当你的应用程序选择了最给力的框架时候,你的应用程序才是最流畅最给力的。所以如果你花一些时间来选择这些框架时,你可能会发现创建一个应用程序比学习基础设计模式困难多了。每一个 iPhone iOS 开发者都需要了解的框架是 Cocoa Fundamentals Guide 。这个文档讲解了 Objective-C 语言和 UIKit 的设计模式,当然还有一些其他框架的内容

当你理解了基础构架后,你可以查看这个文档 iOS Application Programming Guide ,这个文档提供了具体的开发细节和开发流程。这个文档提供了重要的关于如何编写 iPhone 应用程序的概念和任务为基础的信息,包含一些实例:怎么创建用户界面,事件处理和 iOS 的一些关键功能。并且还描述了整个开发过程,并解释如何使用 Xcode 编译和运行应用程序。

除了看这个文档以外,你还应该浏览一些苹果官方的代码示例。这些示例代码几乎包含所有的 iOS 技术点,你可以使用这些示例代码开始你的应用程序也可以学习一下某些技术点的详细用法。

 


http://chatgpt.dhexx.cn/article/KaNjY8NT.shtml

相关文章

ios app开发学习流程(入门到精通)

一、xcode编译并运行app后,iphone模拟器已安装的app所在目录: # 1. /Users/alpha/Library/Application Support/iPhone Simulator/5.1/Applications # 2. 删除此目录下的app目录,即可清空模拟器里安装过的app &#xf…

iOS开发系列课程(01) --- iOS编程入门

iOS概述 什么是iOS iOS是苹果公司为它的移动设备(iPhone、iPad、iWatch等)开发的移动操作系统。 iOS发展史 2007年苹果发布iPhone Runs OS X2008年更名iPhone OS2010年更名iOS2012年WWCD 2012上发布iOS 62013年WWCD 2013上发布iOS 72014年WWCD 2014上…

iOS苹果开发者账号申请教程

只有苹果开发者账号才能上架App Store,苹果开发者需要年费,是苹果公司收的! 开发者账号类型功能介绍 下面是个人苹果开发者申请步骤流程: 分五个步骤进行 1、注册苹果账号apple id 2、开启双重认证 3、下载Apple Developer应…

零基础如何学习 iOS 开发?

作为一名混迹iOS开发圈近4年的码农,资历不深不浅,看到这个问题还是忍不住想回答一下。 如果你打算学习iOS开发,那么在开始学之前,你要做好以下4个方面的准备。 ————————————————————— 1 、信念。 很大程…

【原创】iOS开发入门教程

2019独角兽企业重金招聘Python工程师标准>>> 程序发轻狂,代码阑珊,苹果开发安卓狂!——写给狂热的编程爱好者们 ###写在前面的话 学习iOS应用程序开发已有一段时间,最近稍微闲下来了,正好也想记录一下前阶段…

iPhone 开发基础教程

Phone 开发基础教程之 在开始编写iPhone 软件之前,需要做一些准备工作。对于初学者,需要一台运行 Leopard(OS X 10.5.3或更高版本)的基于Intel的Macintosh计算机。2006年之后上市的任何Macintosh计算机(不管是笔记本还是台式机)应该都符合要求。 无需使用…

iOS(一):Swift纯代码模式iOS开发入门教程

Swift纯代码模式iOS开发入门教程 项目初始化(修改为纯代码项目)安装第三方库(以SnapKit库为例)桥接OC库(QMUIKit)封装视图并进行导航跳转示例:使用 TangramKit 第三方UI布局库应用国际化添加 R.…

ios开发入门

环境macos 12.5 xcode 12.0 objective c 一、找到启动后加载的ViewController 选择objective c storyboard 创建一个ios app后,直接点击run,xcode会启动手机模拟器,先显示的是lanuchScreen,launchScreen结束后触发applicatio…

iOS开发零基础教程之真机调试流程

本讲主要内容: 1、真机测试前准备工作 2、第一步创建App ID 3、第二步创建开发证书Development Certificate 4、第三步打开本地钥匙串创建CSR文件 5、第四步添加设备 6、第五步创建描述文件 7、第六步导出证书给其他人用 8、第七步在Xcode工程中配置Code Si…

iOS开发入门——基础篇一

文章目录 1. iOS应用生命周期1.1 应用程序的架构1.2 iOS应用的5种状态:1.2.1做一些操作对应的生命周期调用的顺序1.2.2全面的生命周期执行流程图 1.3 Main函数入口1.4 几个关键对象1.5 Main Run Loop 2. UI界面2.1 UIWindow2.2 UIViewController生命周期*2.2.1 View…

iOS 开发 入门:加入iOS Developer Program (iOS开发者申请教程)

我于2012年12月23日提交加入iOS开发者计划(即iOS Developer Program,简称IDP)的申请,至2012年12月28日申请成功,扣除星期天,一共仅用了5天时间,这超出了我的意料。在这里,我将我的申请过程记录下…

从零学IOS开发(一)

目录 一,开发环境二,新建项目三,项目文件结构四,基本组件五,APP基本雏形 一,开发环境 ​ IOS开发环境很简单,只需一台MAC和一个IDE(Xcode),Xcode是apple官方的开发环境,…

新手必看,史上最全的iOS开发教程集锦,没有之一!

最近大火的iPhone XS Max和iPhone XS,不知道有没有同学已经下手了呢?一万三的价位确实让很多人望而却步啊。据说为了赢得中国的用户,专门出了双卡双待的,可想而知中国市场这块“肥肉”人人都想要。 近几年,无论苹果出…

IOS 初级开发入门教程(一)介绍篇

导读 目前移动端开发市场上引导开发者追求技多不压身,一个全栈开发者至少要懂后台服务器、数据库、Android、web、ios开发等。“一超多强”是指开发者先成为一门技术的专家然后掌握了解多门技术,这是一种好的发展趋势,另外,这种技…

iOS开发入门教程

摘要 iOS开发入门教程,从创建项目到运行项目,包括OC基础,调试,模拟器设置等相关知识。 程序发轻狂,代码阑珊,苹果开发安卓狂!——写给狂热的编程爱好者们 写在前面的话 学习iOS应用程序开发已有…

IOS开发

第一章:iOS开发入门之Xcode的基本使用 文章目录 第一章:iOS开发入门之Xcode的基本使用前言一、Xcode是什么?二、基本使用步骤1.新建2.文件代码设置1⃣️.代码设置2⃣️把info里面的Application Scene Manifest删掉** 三、简单例子总结 前言 …

ios开发教程(一)开发环境搭建

一、系统安装 1. 如果你有苹果电脑,那么可以直接跳过这个阶段 2. 如果没有苹果电脑,那么可以使用VMWare虚拟机安装macos,安装教程见这篇文章 https://blog.csdn.net/dm569263708/article/details/130523282 二、安装xcode 1. 下载xcode&…

app开发流程:手机软件开发app的6个步骤

现在以手机app为代表的移动互联网已经超过传统的PC,成为企业营销创业赚钱不可忽视的重要渠道,手机软件开发app成为传统企业转型的关键。app开发具体需要哪些流程和周期呢?今天给大家分享一下app开发流程的6个步骤。 1、项目确定 在进行app开…

【2023最新】超详细图文保姆级教程:App开发新手入门(2)

上章节我们已经成功的创建了一个 App 项目,接下来我们讲述一下,如何导入项目、编辑代码和提交项目代码。 Let’s Go! 4. 项目导入 当用户创建一个新的应用时,YonStudio 开发工具会自动导入模板项目的默认代码,不需要手动进行代…

【史上最全App开发知识分享】如何从零开始成为app开发专家?

本文针对小白用户对App做一个简单的介绍,介绍了App都有哪些类型,不同的类型app开发需要哪些技术,用户可以根据自己的需求选择不同的App开发,若不懂技术,没有资金怎么开发app。 一 、App有哪些形式? App主要…