通过笔者在iOS应用开发中获得的经验,就iOS应用开发做一个浅析,从开发语言的介绍,到应用程序的开发方法,iOS网络编程,及iOS应用程序的发布方法,为大家揭开iOS应用开发的神秘面纱。
现今手机等移动终端设备应用广泛,相应的程序开发十分流行,制作APP应用成为主流,市场上应用最广的移动终端操作系统就是android和iOS;iOS操作系统是苹果公司开发,其APP开发语言为Objective-C,对大多数据程序员来说有些陌生,接触的机会较少,本文就iOS应用开发做一个简析,从开发语言的介绍,到应用程序的开发方法,及iOS应用程序的发布,为大家揭开iOS应用开发的神秘面纱。
iOS应用开发使用的语言是Objective-C,它是一个类C、C++的开发语言,有着与C相似的语法,用着和C++相同概念的面向对象的编程方法,并在其基础上添加了有着自己特征的新概念,如“类别”、“协议”,而这些都与C++或JAVA中有些概念相似,当然另类的语句书写方法,让初学者有些不适应,但强大的开发工具?D?DXCode,还是给应用开发增色不少。
学习语言是iOS应用开发的基础,有了Objective-C语言基础后,就可以按部就班的开发了,开发步骤如下:(1)项目的系统设计;(2)项目中各页面详细设计;(3)页面相关类的设计;(4)页面控件与类中属性、方法的关联;(5)iOS应用数据库编程(6)iOS应用网络编程;(7)注册为iOS开发者;(8)在真机中测试;(9)在APP Store中发布。
下面根据iOS应用开发步骤,逐一分析:
1 项目的系统设计
这与其它应用项目的设计方法相同,也是要求先有需求,根据客户需求做系统的设计,主要包括功能设计、流程设计、数据库设计等;但于iOS应用开发要多考虑一个内容,就是基于iOS操作系统的设备特征各异,要先策划好,你的应用主要是在哪种设备上应用的,要根据该设备做好规划。
2 页面详细设计
在iOS应用开发中,页面也被称作“view”,用户看到的一个一个“页面”或“窗口”,也就是由一个一个“view”呈现出来;在iOS应用开发中,可以先做“view”,即在页面上要让用户看到的内容,在“view”上,可以放一些“控件”,与我们在其它开发中常用的控件相似,有按钮、文本框、列表等,程序要做的就是使用XCode工具,将控件放置在view中,并设计好的位置,及样式;在XCode中,所有view可以被放在一个叫做storyboard的“面板”中,并通过“segue”将各个页面连接在一起,使得页面更替,上下页转换关系一目了然;仅仅做好页面,还不能使程序有效,还要有相关的代码来实现他们的功能。
3 页面相关类的设计
若要页面中的控件真正起作用,就要为页面也就是view写一个相关的类,大多数情况下,在页面中有多少控件,就要在类中定义多少个相关的属性,且他们的类型要统一,且一定要加前缀“IBOutlet”,另外,如果该控件还要实现一些功能,如点击后会有下一动作或响应一个事件,就要在类中加入相关的方法,该方法必须要加前缀“IBAction”;Objective-C中类的定义通常写在两个文件中,“.h”文件主要写类的声明部分,如属性及方法的声明;“.m”文件主要写方法的实现部分,即每个方法具体要执行的程序;类编写好后,通常会起一个与页面相关的名子,方便在下一步骤中做关联。
4 页面控件与类中属性、方法的关联
要让页面中的控件与类的属性或方法能够关联在一起,也就是说,控件的动作可以触发类中的属性或方法,需要打开XCode的storyboard面板,在左侧将类列表打开,在类列表中找到刚才保存好的类;先选中页面?D?D“view”,在右侧打开“custom class”窗口,在“class”列表中,选择相关类,可以将类与页面关联,下一步要关联每个控件与类中的属性及方法;这时右键点击左侧打开的类名,会出现一个属性及方法列表,用左键点击某一属性的名字,拖动鼠标直到页面中相关控件处,即完成控件与类中属性的关联,在程序运行过程中,控件上的数据可直接返回给属性,也可通过修改属性值,来改变相关控件的数据;如果点击该控件还要触发类的中方法时,可用相同方法,选择类的中方法,用鼠标左键拖到页面中的控件位置,然后释放;页面控件与类中属性、方法的关联,对初学者是相对复杂的过程,需要多加练习,才可熟练掌握。
5 iOS应用数据库编程
在移动设备中,也经常需要将数据存入存储器中,在iOS系统中常用的数据库管理系统是SQLite,不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。开发者可通过下载SQLite源程序包,并编写SQLite数据库的操作类,来实现对数据库的操作,将数据存储在移动设备中。
6 iOS应用网络编程
在iOS应用开发中网络编程是必不可少的,一个应用通常需要连接服务器,上传或下载一些数据或更新程序;iOS应用开发中网络部分常用到HTTP协议与服务器互连,在服务器端需要做一个服务端程序,可实现通过URL连接到服务器,且可提交数据给服务端页面,或通过访问服务端页面返回数据,数据可规格化为json格式;通常服务端程序可用php、asp、jsp网络程序实现。
7 注册为iOS开发者
在模拟器测试完成后,就应该将程序发布到真机上测试,但苹果公司对任何要发布到真机上的程序都要认证,也就是要有一个合法的证书,要想得到这个证书,必须要先注册成为iOS开发者,在苹果公司的开发者网站上,就可直接申请,但过程比较复杂,需要填写较多的表格,且费用要通过visa信用卡交纳,如果填写正确,最快可一周完成注册过程,并得到一个注册号。
8 在真机中测试
成为iOS开发者以后,可登录开发者网站,并登录入自己的注册号及密码,在开发者平台上,用户可自己制作证书,并将证书装入真机后,可将程序发布到真机上。制作证书的过程也比较复杂,先下载一个合法用户的认证证书到本机,再根据真机的识别码,制作识别真机的证书,对于个人及小公司用户,苹果公司规定,只能最多发布一百个真机;然后用XCode打开项目,填写证书的相关数据,即可实现应用在真机上的运行了。
9 在APP Store中发布
有了一个开发者身份,且程序在真机上测试通过以后,就可以发布到APP Store中了,这个过程需要对程序做打包,上传,且排队申请审核,如果在审核时发布程序有问题,有时不一定是代码问题,可能是说明不详细或体裁不合适等被审核不通过,那就要等改好后,重新排队申请。
经过一段时间的开发,笔者认为iOS应用开发比较适合有经验的开发人员,其入门语言异于常规的其它语言,且开发方法较为复杂,这成为初学者的一个门槛;但在iOS应用开发中,可体会到苹果公司将客户体验放在第一位,将程序的安全性放在第一位,这些对程序开发者来说可能会带来一些开发上的麻烦,但还是值得的。