ios项目总结(共6篇)
篇1:ios项目总结
第一个正式的universal项目差不多快要结束,总结一下,分享给大家。因为可能我的比较具有代表性,如何从压根不懂开始做起。(分享的另外一个目的也是希望大家提提建议,毕竟只有互相交流中才能更快成长)
做项目前:
零面向对象实际项目经验,更不用说透彻理解design pattern
零iOS实际项目经验
只懂一点点的C和汇编代码,其它如java、ruby、php、HTML5一点不沾边,可以说是不属于互联网的业余玩家
项目的情况:
做项目过程中,客户需求变化极其频繁和巨大,对代码结构的robust是一大挑战。虽然本人特别讨厌需求变动,但是在外,身不由己
Universal项目,即是iPhone + iPad 的一个项目
基本上这个项目涉及到了iOS的方方面面,麻雀虽小,但是五脏俱全
关于程序结构设计
尝试用面向对象的方式去设计结构,但设计的时候流于形式,根据现有的一些best practice依葫芦画瓢,但实际上只有实践了才知道,比如:
1. 属性: 什么时候用和为什么用属性、如何保持属性私有、self.的使用,属性的内存释放;
2. 成员变量和属性的区别
3. 方法:什么时候用类方法和对象方法
4. 好的设计真的是“增之一分则太长,减之一分则太短”;好的设计关系到以后重构的方便性
5. 解耦设计:对象之间如何通讯,如何传值,如何回传,如何用好notification、delegate、KVO;如何保持对象的纯洁(不受玷污)
6. MVC中的M和C分离,一直觉得自己做的项目是小项目,而且一直认为过于注重结构,会增加代码量,但是实际上项目不分大小,好的设计:
能随时应对客户的需求变化
能自己看得懂自己写的代码(改的多了,都看不懂自己的代码了,这是最悲催)
回归测试,一旦客户需求改变,乱糟糟的代码更加乱,这样回归基本上是需要全部。好的设计可以把客户需求改变带来的回归测试降低到最低
关于面向对象设计
之前从没有面向对象设计的经验,所以第一次从这种角度去解决问题。“实践出真理”,无论你平时看多少书,如果没有实践过,真的`是无法体会面向对象设计的:
一切从面向对象出发设计:类、对象、(私有)方法、(私有)属性
所谓面向对象,就是根据现实世界中客观存在的事物(即对象)出发来构造软件系统
只有真正从面向对象去设计,几个月甚至几年后,你才能复盘你的代码。以前一直觉得代码复盘如同围棋复盘绝对是天才才有的本领,现在才明白,其实关键是:你要清楚的知道你的代码用在了哪里,为什么用
从面向对象出发,不要觉得一个功能很简单一个方法就搞定,尽量用面向对象去考虑。这是做项目过程中犯的最大的错误
关于ARC
我是项目做了1个月后,才决定把项目从MRC转到ARC,现在回头看看,当初真实明智,因为在第一个月,内存管理上的问题和处理让我很头疼也很花时间。关于ARC
没有想象中的会比MRC性能差,ARC不是JAVA的垃圾回收,性能其实与MRC基本一致
ARC中没有明确的release操作,这时更需要注意内存管理,比如在一个Controller中使用Gyro sensor的时候,这种操作是绝对不能赋值给局部变量的:[[CMMotionManager alloc]init]
虽然ARC似乎能为你做很多事,但是有些事情自己解决还是自己解决,比如当不需要用Gyro sensor时,_motionManager = nil(此时如果不设置,则startDeviceMotionUpdatesToQueue中的更新会一直进行);
总之,对于ARC,难得糊涂中要“时刻保持觉醒”
关于Perfomrance设计
Coding真的是一点都来不得马虎,以前一直觉得iOS性能强大,无须担心性能,但是项目做下来,一大痛苦之处就是性能不够:
应用程序、UIViewController和UIView的生命周期的认识如果不十分清楚,就很容易造成性能瓶颈
大量的UIView插入移除操作会导致性能问题
UITableView和UIScrollView导致滑动不顺畅的best practice
关于知识点
成为一名优秀Programmer需要丰富的经验和知识面,但是知识永远是学习不完的,所以要抓核心和基本,个人觉得以下几个知识点是iOS开发必须的。至于有些比如CoreText、CoreImage等,其实等到需要用时再去学习也来得及。
内存管理,MRC和ARC
多线程,iOS下有多种多线程实现方式,什么都应该了解一下,但是除了dispatch需要精通,其它只需要看懂 (dispatch效率最高,使用最方便)
数据库,无论是Core Data,FMDB还是基本的Sqlite,万事不离其中,掌握Sqlite和SQL基本语法是必须的
UIViewController、UITableViewController 和应用程序的生命周期
看似简单但是很有深度的View之间的转场处理,因为涉及到大量生命周期,如presentModalViewController, presentViewController, pushViewController, addSubview, removeFromSuperview, self.view....
网络处理相关的,如何请求JSON数据,如何HTTP GET和POST
旋转处理,特别是iOS4、iOS5、iOS6的不同处理
Debug的能力
基本的设计模式:MVC、delegate、notification、target-action
面向对象的核心思想,例如:不要以用户无法使用或不感兴趣的东西扰乱类的公有接口、类之间应该零耦合、把不相关的信息放在另一个类中
不重复造轮子
这个也不例外,iOS下的开源framework都太多了,基本上你需要的都能在Github或者Stackoverflow上找得到,所以平时:
不要做井底之蛙,平时多了解开源的框架
框架适合就行,就像争论AFNetwork和ASIHttpNetwork更棒没有意义的。写程序的有两类人,一类人追求技术极致,一类人技术只是实现产品的一种手段,我就是后面这个
关于开源框架的学习
这世界好的开源框架太多了,给我都看不完,所以需要选择,就像读书不在于都多,而在于读精,个人推荐如下。
Three20 (其实我是不推荐的,因为它过时了,但是因为淘宝客户端用到)
AFNetwork
MBProgressHUD
SDWebImage
关于Continuous Improvement
Six sigma中提到了持续改进,我们的能力提高也是这样。通过读好的开源框架是最好的进步方式。如何读开源框架,我们读开源框架的目的:
其中的花式写法我们只是了解,不是我们的目的
了解作者写框架的思路
对比自己现有的,求改进
篇2:ios项目总结
ios简历项目怎么写:
项目经历
2011/05 –2011/10
IOS项目图片处理、分享、点评程序
负责项目的整体架构设计及服务器端接口的开发
负责图片处理滤镜的设计实现、图片缩放、裁剪、旋转等效果的实现
负责系统数据加密算法的实现
2010/08 –2011/04 基于IOS的“双扣扑克”游戏客户端
负责扑克游戏的整体UI的设计和用户接口逻辑的实现 负责服务器端游戏逻辑及接口的实现
负责游戏数据传输协议的设计及加密解密算法实现
2009/11 –2010/07 ANDROID项目
基于Google Android 1.0平台的样机开发
参与Calling模块的开发并负责RIL底层接口的改进设计 2007/11 –2009/10 XPIXL项目(ZN5)
基于摩托罗拉LJ6.3平台的高端手机 参与Messaging模块的设计开发
项目期间的工作表现获得Moto Bravo!Award
2007/05 –2007/10 YONGXING项目
基于摩托罗拉LJ7.2平台的中高端手机
参与Messaging模块的改进设计
2007/01 – 2007/05 DRAGONFLY项目
基于TI的Locosto平台的低端手机
篇3:iOS项目自动生成技术文档
做项目一般都会要求写技术文档,特别是单干接项目的,客户多少都会要求除了提供code之外,还得提供技术文档,而如果我们手写这类的文档,那工作量不比写code少。一般的开发工具都会提供类似集成的功能,比如Java语言本身就自带javadoc命令,可以从源码中抽取文档,几个配置,几条命令就搞定了。
Xcode工具本身不具备这样的功能,但是我们通过一些插件和工具来达到这个目的。
生成注释
生成文档之前,我们需要给代码中的方法或者变量写上注释,然后再利用工具根据这些规范的注释自动生成文档。所以呢,注释一定要规范统一,但是每次都要手动输入规范化的注释,着实也麻烦,这里需要借助Xcode的开源插件VVDocumenter,规范注释生成器,非常方便!
多行注释直接输入三个斜线 “///” 会自动格式化,如上图所示
单行注释需要输入三个斜线+空格 “/// 注释”。输入两个“//”当然可以正确的被xcode识别为注释,但是在下面生成文档的时候不能被识别为文档注释。
然后再配合 appledoc、doxygen 或者 headdoc,就可以生成技术文档。对于Objective-C来说,目前比较好用的是appledoc 和 doxygen。
工具对比 headerdoc
xcode 自带的文档生成工具、基于命令行的操作、使用方便。但是只能生成以 /*!*/ 的格式的注释。还有一个缺点是每个类文件对应一个注释文件,没有最后汇总导航的index文件。
docxygen
功能强大、三者中支持语言最多的、无headerdoc缺点、基于图形化的操作界面,但是配置较多,可以生成html文档或pdf文档。
appledoc
基于命令行的操作、使用方便、无headerdoc缺点、默认生成的文档风格和苹果的官方文档是一致的,即docset,集成到xcode中就跟苹果的官方文档一模一样,在源码中按住option再单击就可以调出相应方法的帮助。当然也可以生成html文档。
工具使用 appledoc
从github下载源码,在终端里面cd源码文件夹,然后执行shell脚本安装
[plain] view plaincopy
1.2.3.git clone git://github.com/tomaz/appledoc.git cd appledoc
sudo sh install-appledoc.sh
安装过程中如果出错,检查一下Xcode所在的路径中是否存在空格,去掉再试之。成功后在终端cd到项目文件夹里面,输入以下命令生成文档:
[plain] view plaincopy
1.appledoc--output../doc--project-name weibo--project-company “wxhl”--company-id “com.wxhl.weibo”.--output../doc 设置文档输出目录为上级目录下面的doc--project-name weibo 设置项目名为“weibo”--project-company “wxhl” 设置公司名为“wxhl”
--company-id “com.wxhl.weibo” 设置公司id为“com.wxhl.weibo”.当前目录
当该命令完成后,可以看到在上级目录的doc文件夹里面有一个docset-installed.txt的文件,这里面描述了docset文档所在的真正路径,一般都是在~/Library/Developer/Shared/Documentation/DocSets/ 里面,或者看看xcode中的Organizer-Documentation,会发现其中新增了帮助文档。
生成HTML
对于最新版本的appledoc来说,它默认时是生成docset文档并集成到xcode。当需要html文档时,可以加上“--no-create-docset”
[plain] view plaincopy
1.appledoc--no-create-docset--output../doc--project-name weibo--project-company “wxhl”--company-id “com.wxhl.weibo”.当该命令完成后,可以看到在上级目录的doc文件夹里面就 不是docset-installed.txt文件了,而是全部的html文档,直接打开index就行。
doxygen
doxygen支持源码编译安装与dmg安装。去doxygen官网下载最新的dmg,doxygen有图形界面,可通过Launchpad打开。
在step 1中选择好项目的路径。
step 2默认是Wizard->Project页面,在其中 1)在“Project name”中填写项目名。
2)勾选“Sacn recursively”,扫描所有的子文件夹。3)在“Destination directory”中填写好文档的输出目录。这里我填的是“docs”。
点击中间的“Expert”切换Expert->Project页面,在其中
1)将“OUTPUT_LANGUAGE”设为“Chinese”,使用简体中文。
2)勾选“JAVADOC_AUTOBRIEF”,自动将注释的第1段识别为简要描述。“Run”切换Run页面,然后点击“Run doxygen”按钮生成文档。当文档生成完毕后,使用浏览器打开docs/html/index.html——
生成PDF
doxygen默认会为生成pdf做好准备。切换到Wizard->Project,会发现它自动勾选了“LaTex”与“as intermediate format for hyperlinked PDF”。
doxygen本身并不能直接输出pdf文件,而是生成了latex目录,其中有一个 makefile 文件。若系统中装好了pdflatex,可在latex目录中运行“make”命令来生成pdf文件。怎样才能装好pdflatex呢?mac平台可安装MacTeX。打开 http:///mactex/,下载 MacTeX.pkg(约2.1GB)。MacTeX.pkg下载好后,可双击运行,根据向导来安装。
环境装好之后,当在latex目录中运行“make”命令来生成pdf文件时,你会发现——纯英文文档能顺利生成pdf;而含有中文时,不能顺利生成pdf文件。
对于latex排版,doxygen其实已经做了很多准备,比如——源文件是UTF-8编码,并默认使用了utf8 package。理论上是支持多国语言的。可对于中文来说,还需要加载 CJKutf8 package,并配置好CJK环境。这才能顺利的使用中文。
用文本编辑器打开docxygen生成的latex目录中的refman.tex。找到“begin{document}”这一行,将其修改为 usepackage{CJKutf8} begin{document} begin{CJK}{UTF8}{gbsn}
然后再找到“end{document}”这一行,将其修改为 end{CJK} end{document}
保存并关闭refman.tex。
然后打开终端,使用cd命令进入latex目录,然后执行“make”命令。
篇4:ios项目总结
iOS超全开源框架、项目和学习资料汇总(1)UI篇iOS超全开源框架、项目和学习资料汇总(2)动画篇iOS超全开源框架、项目和学习资料汇总(3)网络和Model篇数据库FMDB – sqlite的工具,多线程FMDatabaseQueue实例,FMDB数据库的使用演示和封装工具类。GXDatabaseUtils – 在FMDB基础上的工具。realm-cocoa – Realm是一个真正为移动设备打造的数据库,同时支持Objective-C和Swfit。Realm宣称其相比Sqlite,在移动设备上有着更好的性能表现。Breeze – 用Swift写的一个轻量级的CoreData管理工具,并且还支持iCloud。AlecrimCoreData – Swift,更容易地访问 CoreData 对象封装类库。除了 CRUD,还提供指针定位,强大的排序、筛选,异步数据获取,以及独立线程后台存取数据。CoreStore – Core Data 管理类库。其中事务管理及查询是其比较大的亮点,整套 API 功能完整。Presentation – 重量级好项目 Presentation,它可以方便你制作定制的动画式教程、Release Notes、个性化演讲稿等。CoreValue – Swift 2 版 Core Data 封装库。相比另外两个 SwiftRecord和 CoreStore更轻量。缓存处理YTKKeyValueStore – Key-Value存储工具类,说明。TMCache – TMCache 是 Tumblr 开源的一个基于 key/value 的数据缓存类库,可以用于缓存一些临时数据或者需要频繁加载的数据,比如某些下载的数据或者一些临时处理结果。JLKeychain – 快捷使用keychain存储数据的类,使keychain像NSUserDefaults一样工作。sskeychain – SSKeyChains对苹果安全框架API进行了简单封装,支持对存储在钥匙串中密码、账户进行访问,包括读取、删除和设置。KeychainAccess – 管理Keychain接入的小助手。图像浏览及处理FLAnimatedImage – gif播放处理的工具。CLImageEditor – 超强的图片编辑库,快速帮你实现旋转,防缩,滤镜等等一系列麻烦的事情。VIPhotoView – 用于展示图片的工具类,因为是个 View,所以你可以放在任何地方显示。支持旋转,双击指定位置放大等。MWPhotoBrowser – 一个非常不错的照片浏览器,在github的star接近3000个,解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题。core-image-explorer – Core Image 滤镜处理图片– swift,Core Image 介绍。CoreImageShop – CoreImageShop图片滤镜处理– Mac app that let you create a complete Core Image Filter usable on iOS using SCRecorder。GPUImage – 处理图片效果。RSKImageCropper – 适用于iOS的图片裁剪器,类似Contacts app,可上下左右移动图片选取最合适的区域。WZRecyclePhotoStackView – 删除照片交互–WZRecyclePhotoStackView,就是模拟生活中是删除或保留犹豫不决的情形而产生的。在上滑,下滑的部分,借鉴了TinderSimpleSwipeCards。TimingFunctionEditor – TimingFunctionEditor用swift编写,贝塞尔曲线编辑器,编辑后可以预览或拷贝代码片段直接使用。P.S.该项目采用更简单的依赖管理器 Carthage,而非常用的 CocoaPods。Carthage介绍中文。AAFaceDetection –
AAFaceDetection–swift,简单、实用的面部识别封装库。虽然该技术从 iOS 5 发展,不过真正有趣的应用还不多。PhotoTweaks – 这个库挺赞的,正好是对图像操作的。Concorde – swift, Concorde, 一个可用于下载和解码渐进式 JPEG 的库, 可用来改善应用的用户体验。ZoomTransition – swift, 通过手势操控图片的放大、缩小、旋转等自由变化效果的组件及示例。AFImageHelper – swift,一套针对 UIImage 和 UIImageView 的实用扩展库,功能包含填色和渐变、裁剪、缩放以及具有缓存机制的在线图片获取。PinterestSwift – swift,Pinterest 风格图片缩放、切换示例。KYElegantPhotoGallery – 一个优雅的图片浏览库。SDCycleScrollView – 无限循环自动图片轮播器(一步设置即可使用)。SDPhotoBrowser – 仿新浪动感图片浏览器,非常简单易用的图片浏览器,模仿微博图片浏览器动感效果,综合了图片展示和存储等多项功能。HZPhotoBrowser – 一个类似于新浪微博图片浏览器的框架(支持显示和隐藏动画;支持双击缩放,手势放大缩小;支持图片存储;支持网络加载gif图片,长图滚动浏览;支持横竖屏显示)。PhotoStackView-Swift – PhotoStackView——照片叠放视图,使用说明。MarkingMenu – 基于手势、类似 Autodesk Maya 风格标记菜单及图片渲染。SXPhotoShow – UICollectionViewFlowLayout流水布局 是当下collectionView中常用且普通的布局方式。本代码也写了三种好看的布局,其中LineLayout和流水布局有很大的相同点就直接继承UICollectionViewFlowLayout,然后StackLayout,CircleLayout这两种都是直接继承自最原始的UICollectionViewLayout 布局方案。摄像照相视频音频处理ZFPlayer-基于AVPlayer,支持竖屏、横屏(横屏可锁定屏幕方向),上下滑动调节音量、屏幕亮度,左右滑动调节播放进度ZFPlayer剖析SCRecorder – SCRecorder 短视频录制。VideoPushDemo – 视频剪辑 视频特效制作1 视频特效制作2。LLSimpleCamera – A simple, customizable camera control for iOS,摄像头。EZAudio – EZAudio 是一个 iOS 和 OSX 上简单易用的音频框架,根据音量实时显示波形图,基于Core Audio,适合实时低延迟音频处理,非常直观。中文介绍,官网。ffmpeg – ffmpeg官网,FFmpeg在iOS上完美编译。VCL – VCL官网。kxmovie – 使用ffmpeg的影片播放器,修改说明,修改代码。ijkplayer – B站开源的视频播放器,支持Android和iOS。StreamingKit – StreamingKit流媒体音乐播放器。FreeStreamer – FreeStreamer流媒体音乐播放器,cpu占用非常小。DOUAudioStreamer – DOUAudioStreamer豆瓣的音乐流媒体播放器。fmpro – 电台播放器,支持锁屏歌词,支持基本播放流程,歌词展示,后台锁屏播放和控制以及锁屏后封面+歌词,fmpro_R。IPDFCameraViewController – 支持相机定焦拍摄、滤镜、闪光、实时边框检测以及透视矫正功能,并有简单易用的API。SCRecorder – 酷似 Instagram/Vine 的音频/视频摄像记录器,以 Objective-C 为基础的过滤器框架。你可以做很多如下的操作:记录多个视频录像片段。删除任何你不想要的记录段。可以使用任何视频播放器播放片段。保存的记录可以在序列化的 NSDictionary 中使用。(在 NSUserDefaults 的中操作)添加使用 Core Image 的视频滤波器。可自由选择你需要的 parameters 合并和导出视频。Cool-iOS-Camera – Cool-iOS-Camera。FastttCamera – FastttCamera 快速照相。ICGVideoTrimmer –
ICGVideoTrimmer提供提供视频剪切的视图(类似系统相册中浏览视频时顶部那个条状视图)。左右两个边界选择器还能够自定义。IOS录音和播放功能demo – 比较完整的ios录音和播放功能的实现。CameraManager – 相机管理封装类库。看着极好用的样子—-swift。MCAudioInputQueue – 简易录音类,基于AudioQueue的。DraggableYoutubeFloatingVideo – 展示像类似Youtube移动应用的那种浏览视频的效果,当点击某视频时能够从右下方弹出一个界面,并且该界面能够通过手势,再次收缩在右下方并继续播放。这是通过AutoLayout设计实现。amr – 做即时通讯的音频处理,录音文件是m4a,便于web端的音频播放。FSVoiceBubble – 一个轻量级播放录音音频的气泡:1.支持短时间的音频播放(支持网络音频);2.播放时的声波动画;3.自定义包括声波的颜色,气泡的背景等。KRVideoPlayer – 类似Weico的播放器,支持竖屏模式下全屏播放。其他DateTimeKit – 一个超赞的时间处理的库,Joda-Time!他能帮你轻松处理时区,处理时间加减,计算到期时间等等场景下的问题。SwiftDate – 特别完整、强大的日期时间操作管理类库。它几乎涵盖了已知开源日期类库所有优秀特性。他能帮你轻松处理时区,处理时间加减,计算到期时间等等场景下的问题。iOS私有API – 私有API,绿色 == public,红色 == private,蓝色 == dylib。iOS源代码 – iOS源代码。libfacedetection – C++ 人脸识别 包含正面和多视角人脸检测两个算法.优点:速度快(OpenCV haar+adaboost的2-3倍), 准确度高(FDDB非公开类评测排名第二),能估计人脸角度。Slidden – 一个老外开源的开发自定义键盘的库,利用这个开源库,可以方便的配置键位、颜色以及键位对应的图片。TPKeyboardAvoiding – 用户键盘弹出自动计算高度,进行屏幕滚动操作。CDPMonitorKeyboard – CDPMonitorKeyboard封装,可以解决输入视图(例如textField,textView等)被键盘覆盖问题,并可设置高于键盘多少。自动监听键盘高度 – 自动监听键盘高度,初始界面,输入框在屏幕最下方,当键盘出现时,输入框随即移动到键盘上方。SYKeyboardTextField – SYKeyboardTextField 是一个轻巧,简单,非侵入式的键盘附随输入框!采用Swift编写。BlocksKit – block框架,为 OC 常用类提供了强大的 Block 语法支持,使得编写 OC 代码变得舒适、快速、优雅。KVOController – 在项目中有使用 KVO,那么 KVOController 绝对是个好选择。它是 facebook 开源的一个 KVO 增强框架。appirater – 用于提醒用户给你的 APP 打分的工具。MotionKitr – 为核心运动框架(The Core Motion framework)提供友好的类库封装,以更方便使用三轴陀螺仪和加速感应器特性。Review Monitor – 第一时间自动推送 Apple Store 的用户评论到你的邮件箱或者 Slack,第一时间跟进用户反馈,打造优秀 App 必备工具!类似的有:App annie 的类似功能。WBWebViewConsole – 类似微博iPhone客户端的 “调试选项” 吗?把其中的 “内置浏览器网页调试” 开源在 Github 上了。ios-good-practices – ios-good-practices iOS 开发最佳实践。iOS开发最佳实践 – iOS 开发最佳实践 — 中文。TodayExtensionSharingDefaults –
TodayExtensionSharingDefaults是一个iOS 8 Today扩展示例,可以使用NSUserDefaults与其containing app分享数据。QRCodeReader.swift – QRCodeReader.swift一款简单的 QR 二维码阅读组件及示例,提供前后相机切换功能。QRCatcher – 一个简洁美观的二维码扫描应用,iOS学习:AVFoundation 视频流处理–二维码扫描。Parsimmon – swift,小而美的语言学类库封装工具包。提供分词、标记词性、词形归并、朴素贝页斯分类、决策树等自然语言分析小工具。P.S.英语分词效果好于中文,感兴趣的同学可以针对中文做一些优化开发。参考译文 NSHipster – NSLinguistic?Tagger。Password-keyboard – 随机变换数字位置的密码键盘。模仿银行类应用在付款时输入的随机密码键盘。MKMapView-Extension – 这是关于 MKMapView 写的一个基于swift的扩展,可以扩展 MKMapView 的相关功能,减少复用代码量。SemverKit – 针对符合『语义化版本规范 2.0.0』版本号的解析、比较运算类库。不仅支持 Major, Minor, Patch,还支持 Alpha 和 Beta 预发布版本,以及相应地递增运算扩展。SwiftValidator – 基于规则的输入验证类库。项目良好的面向对象设计思想,使规则的扩展及自定义非常方便。更专业的规则引擎(甚至是基于自然语言的规则配置)解决方案,比如:开源的 Drools,商用的 ILOG 等。Tesseract-OCR-iOS – 有关OCR文字识别项目。iOS-Categories – 收集了许多有助于开发的iOS扩展,各种category。Olla4iOS – 过去积累的一些方便复用的类和方法,还在整理中。DKNightVersion – 用最快的方式给你的应用加上夜间和白天的切换效果。TouchVisualizer – 实用的多点触摸可视化组件。扩展并作用于 UIWindows,结构上提供了简单地针对触摸显示定制,比如触摸点的颜色。RegexKitLite – 用来处理正则表达式。XcodeServerSDK – 非官方 Xcode Server SDK 封装库。P.S.该 SDK 分离自之前推荐的由该作者开发的自动测试框架 Buildasaur。BFKit-Swift – BFKit-Swift 这套工具库可以提高应用开发效率。CKSIncrementalStore – 基于 CloudKit 服务器实现多终端数据同步。SwiftSequence – 简洁、灵活、多变的操作 SequenceType 的类库(基于微框架(μframework)设计思想)。IDNFeedParser – 一个简单易用的Rss解析库。CoreUmeng – 简单:友盟分享封装。openshare – 不用官方SDK,利用社交软件移动客户端(微信/QQ/微博/人人/支付宝)分享/登录/支付。Swifternalization – 一套实用的本地化工具库。使用教程及 API 文档完整。值得收入项目的“轮子”。apous – 一款有趣的 Swift 应用 - 让 Swift 成为脚本语言。Mirror – 通过反射(Refection)实现镜像对象封装库。从而可以更轻松获取(或输出)对象属性名、类型及值变量。Proposer – Proposer 用单个 API 处理 iOS 上的权限请求,以便使用前确认可访问“相册”、“相机”、“麦克风”、“通讯录”或“用户位置”。LocationManager – CoreLocation使用起来还是比较麻烦的,需要授权,判断系统版本等等,所以推荐使用第三方框架LocationManager,使用Block,十分简单!iOS CoreLocation:无论你在哪里,我都要找到你!。pangu.objective-c – 有多种语言实现版本~
篇5:ios项目总结
override func viewDidLoad() { super.viewDidLoad() //异步请求 NSURLConnection.sendAsynchronousRequest(NSURLRequest(URL: NSURL(string: www.baidu.com)!), queue: NSOperationQueue()) { (resp:NSURLResponse!, data:NSData!, error:NSError!) ->Void in //闭包函数println(NSString(data: data, encoding: NSUTF8StringEncoding)!)//把获取的二进制数据转化为HTML进行输出; } }
运行程序,实现效果如下:
篇6:IOS实践总结
IOS 科研技能训练
个人实习总结
实习类型 教学实习实习单位 指导教师 所在院(系)班 级 姓 名 学 号
一、实习时间和地点
时间:2013.11.11-2013.11.17 地点:E504
二、实习的内容额
我们组的成员是:所研究的题目是手机开发技术。实习具体时间及实践内容: 11.11:
讲述科研方法及其科研论文书写方法,确定题目。由于我们选的题目是手机开发技术,我们搜集了相关信息。在智能手机平台上的软件开发最流行的是安卓,塞班,苹果以及windows phone。我主要研究的是苹果开发系统。
11.12: 研究题目,收集资料。iPhone OS 或 OS XiPhone是由苹果公司为iPhone开发的操作系统。它主要是给iPhone和iPodtouch使用。就像其基于的Mac OSX操作系统一样,它也是以Darwin为基础的。iPhoneOS的系统架构分为四个层次:核心操作系统层(the Core OSlayer),核心服务层(the Core Serviceslayer),媒体层(the Media layer),可轻触层(theCocoa Touchlayer)。系统操作占用大概512MB的存储空间。支持的软件 iPhone和iPodTouch使用基于ARM架构的中央处理器,而不是苹果的麦金塔计算机使用的x86处理器。iPhone OS自带的应用程序 在2.2版本的固件中,iPhone的主界面包括包括以下自带的应用程序: SMS(简讯)、日历、照片、相机、YouTube、股市、地图(AGPS辅助的Google地图)、天气、时间、计算机、备忘录、系统设定、iTunes(将会被链接到iTunesMusicStore和iTunes广播目录)、AppStore以及联络资讯。还有四个位于最下方的常用应用程式包括有:电话、Mail、Safari和iPod。除了电话、简讯、和相机,iPodTouch保留了大部分iPhone自带的应用程序。iPhone上的“iPod”程序在iPodTouch上被分成了两个:音乐和视讯。位于主界面最下方dock上的应用程序也根据iPodTouch的主要功能而改成了:音乐、视讯、照片和iTunes。Web应用程序 在2007年苹果全球开发者大会上,苹果宣布iPhone和iPodTouch将会通过Safari互联网浏览器支持某些第三方应用程序,这些应用程序被称为Web应用程序。
11.13:
苹果iOS(iphone Operation System)是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等苹果产品上。iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS。截止至2011年11月,根据Canalys的数据显示,iOS已经占据了全球智能手机系统市场份额的30%,在美国的市场占有率为43%。
iOS是iPad、iPhone、iPod touch的默认操作系统,也是唯一的操作系统。iOS 具有简单易用的界面、令人惊叹的功能,以及超强的稳定性,已经成为
iPhone、iPad 和iPod touch 的强大基础。尽管其他竞争对手一直努力地追赶,但 iOS 内置的众多技术和功能让 Apple 设备始终保持着遥遥领先的地位。
11.14:
研究题目,书写报告。iOS 以及不断丰富的功能和内置 app,让 iPhone、iPad 和 iPod touch 比以往更强大、更具创新精神,使用起来乐趣无穷.Siri让你能够利用语音来完成发送信息、安排会议、查看最新比分等更多事务。只要说出你想做的事,Siri 就能帮你办到。Siri 可以听懂你说的话、知晓你的心意,甚至还能有所回应。
Facetime只需轻点一下,你就能使用 iOS 设备通过WLAN或3G网络与其他人进行视频通话,甚至还可以在 iPhone 或 iPad 上通过蜂窝网络和朋友们进行 FaceTime 通话。虽然远在天涯,感觉却像近在咫尺。
信息这是一项比手机短信更出色的信息服务,因为有了它,你可以通过 WLAN 网络连接与任何 iOS 设备或Mac用户免费收发信息。而且信息数量不受限制。因此你可以尽情发送文本信息,还可以发送照片、视频、位置信息和联系人信息。
Safari一款极其受欢迎的移动网络浏览器。你不仅可以使用阅读器排除网页上的干扰,还可以保存阅读列表,以便进行离线浏览。iCloud标签可以跟踪各个设备上已打开的网页,因此上次在一部设备上浏览的内容,可以在另一部设备上从停止的地方继续浏览。
Game Center让你的社交游戏网络不断扩展,朋友和对手,不打不成交。你还可以加入多人游戏,与不认识的玩家一决高下。这是你的游戏世界,其他任何人都可以参与。
IOS不支持Flash,Adobe计划在iPhone发行第三方Flash Lite软件程序,但现时仍未有计划。以现时来说,只支持标准Flash。现时可以使用iPhone第三方程式jailbreak观看flash动画。
11.15:
iOS系统的安全性能:从打开设备的那一刻起,iOS 就能为你提供内置的安全性。专门设计了低层级的硬件和固件功能,用以防止恶意软件和病毒;同时还设计有高层级的 OS 功能,有助于在访问个人信息和企业数据时确保安全性。为了保护隐私,从日历、通讯录、提醒事项和照片获取位置信息的 app 必须先获得许可。你可以设置密码锁,以防止有人未经授权访问你的设备,并进行相关配置,允许设备在多次尝
试输入密码失败后删除所有数据。该密码还会为你存储的邮件自动加密和提供保护,并能允许第三方 app 为其存储的数据加密。iOS 支持加密网络通信,它可供 app 用于保护传输过程中的敏感信息。如果你的设备丢失或失窃,可以利用 “查找我的 iPhone” 功能在地图上定位设备,并远程擦除所有数据。一旦你的 iPhone 失而复得,你还能恢复上一次备份过的全部数据。
多语言性:iOS 设备可在世界各地通用。30 多种语言可供挑选,还可以在各种语言之间轻松切换。由于 iOS 键盘基于软件而设计,因而有 50 多种支持特定语言功能的不同版式供你选择,其中包括字符的变音符和日文关联字符选项。此外,内置词典支持 50 多种语言,VoiceOver 可阅读超过 35 种语言的屏幕内容,语音控制功能可读懂 20 多种语言。
11.16:
小组讨论,演讲稿完成。小组成员之间互相探讨,查找各自的漏洞,进行修补和完善。
11.17:
总结及答辩。
三、心得体会
1.成绩与收获
本次实践我学到了很多原来不是很了解的知识,是这次最大的收获,本次实践中我对手机的开发技术有了初步的了解,知道了目前常见操作系统平台,也有了一定的了解尤其对苹果iOS有了清楚的认识。可能我了解的不够透彻,但是我觉得这一周过得很充实,我相信这会对我今后的工作和学习都互有很大的帮助。2.问题与不足
本次实践中存在很多不足,最大的不足我觉得就是相关知识的匮乏,这让我深刻的知道了自己平时荒废了多少宝贵的时间,让我在今后有了前进的动力,让自己清楚的认识自己来弥补自己的不足,我原来比较注重计算机的软件,很少看过关于手机开发技术方面的知识,这次让我对其有了一个初步的认识,我觉得手机操作系统也是一个很有趣的方面。我觉得此次实践对我今后的学习有很大的工作,一个优秀的软件开发人员不能单单只关注一个方面,要各个方面都有所了解,同时也让我体会到了团队合作的重要性。
四、总结
iPhone OS(苹果手机)操作系统
姓名
专业
班级
摘要:iPhone OS 或 OS XiPhone是由苹果公司为iPhone开发的操作系统。它主要是给iPhone和iPodtouch使用。就像其基于的Mac OSX操作系统一样,它也是以Darwin为基础的。iPhoneOS的系统架构分为四个层次:核心操作系统层,核心服务层,媒体层,可轻触层。
关键词:iOS,核心操作系统层,核心服务层,媒体层,可轻触层
iPhone OS(apple)operating system Abstract:IPhone OS or OS XiPhone is a Apple Corp for the operating system developed by iPhone.It is mainly used for iPhone and iPodtouch.Like the Mac based on theOSX operating system, it is also the basis for the Darwin.IPhoneOS system architecture is divided into four levels: the CoreOSlayer, the Core Serviceslayer, theMedia layer, theCocoa Touchlayer.Key words:iOS,the Core OSlayer,the Core Serviceslayer,the Media Layer,the Cocoa Touchlayer
一、介绍
苹果iOS(iphone Operation System)是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等苹果产品上。iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS。截止至2011年11月,根据Canalys的数据显示,iOS已经占据了全球智能手机系统市场份额的30%,在美国的市场占有率为43%。
iOS是iPad、iPhone、iPod touch的默认操作系统,也是唯一的操作系统。iOS 具有简单易用的界面、令人惊叹的功能,以及超强的稳定性,已经成为 iPhone、iPad 和iPod touch 的强大基础。尽管其他竞争对手一直努力地追赶,但 iOS 内置的众多技术和功能让 Apple 设备始终保持着遥遥领先的地位。
二、功能
1、界面
第一次上手,你就会知道怎样使用你的iPhone、iPad和iPod touch。因为iOS中极具创新的Multi-Touch界面专为手指而设计。
前所未有的轻松体验从简洁美观的主屏幕开始。从内置 App 到App Store提供的 700,000 多款 app 和游戏,从进行FaceTime视频通话,到用iMovie剪辑视频,你所触及的一切,无不简单、直观、充满乐趣。
优雅直观的界面
2、内置APP
iOS 以及不断丰富的功能和内置 app,让 iPhone、iPad 和 iPod touch 比以往更强大、更具创新精神,使用起来乐趣无穷.Siri让你能够利用语音来完成发送信息、安排会议、查看最新比分等更多事务。只要说出你想做的事,Siri 就能帮你办到。Siri 可以听懂你说的话、知晓你的心意,甚至还能有所回应。[1]
Facetime只需轻点一下,你就能使用 iOS 设备通过WLAN或3G网络与其他人进行视频通话,甚至还可以在 iPhone 或 iPad 上通过蜂窝网络和朋友们进行 FaceTime 通话。虽然远在天涯,感觉却像近在咫尺。
信息这是一项比手机短信更出色的信息服务,因为有了它,你可以通过 WLAN 网络连接与任何 iOS 设备或Mac用户免费收发信息。[2]而且信息数量不受限制。因此你可以尽情发送文本信息,还可以发送照片、视频、位置信息和联系人信息。
Safari一款极其受欢迎的移动网络浏览器。你不仅可以使用阅读器排除网页上的干扰,还可以保存阅读列表,以便进行离线浏览。iCloud标签可以跟踪各个设备上已打开的网页,因此上次在一部设备上浏览的内容,可以在另一部设备上从停止的地方继续浏览。
Game Center让你的社交游戏网络不断扩展,朋友和对手,不打不成交。你还可以加入多人游戏,与不认识的玩家一决高下。[3]这是你的游戏世界,其他任何人都可以参与。
IOS不支持Flash,Adobe计划在iPhone发行第三方Flash Lite软件程序,但现时仍未有计划。以现时来说,只支持标准Flash。现时可以使用iPhone第三方程式jailbreak观看flash动画。
3、设计
安全:从你打开设备的那一刻起,iOS 就能为你提供内置的安全性。我们专门设计了低层级的硬件和固件功能,用以防止恶意软件和病毒;同时还设计有高层级的 OS 功能,有助于在访问个人信息和企业数据时确保安全性。为了保护你的隐私,从日历、通讯录、提醒事项和照片获取位置信息的 app 必须先获得你的许可。你可以设置密码锁,以防止有人未经授权访问你的设备,并进行相关配置,允许设备在多次尝试输入密码失败后删除所有数据。[4]该密码还会为你存储的邮件自动加密和提供保护,并能允许第三方 app 为其存储的数据加密。iOS 支持加密网络通信,它可供 app 用于保护传输过程中的敏感信息。如果你的设备丢失或失窃,可以利用 “查找我的 iPhone” 功能在地图上定位设备,并远程擦除所有数据。一旦你的 iPhone 失而复得,你还能恢复上一次备份过的全部数据。
多语言:IOS 设备可在世界各地通用。30 多种语言供你挑选,你还可以在各种语言之间轻松切换。由于 iOS 键盘基于软件而设计,因而有 50 多种支持特定语言功能的不同版式供你选择,其中包括字符的变音符和日文关联字符选项。此外,内置词典支持 50 多种语言,VoiceOver 可阅读超过 35 种语言的屏幕内容,语音控制功能可读懂 20 多种语言。[5]
硬件完美配合:由于 Apple 同时制造 iPad、iPhone 和 iPod touch 的硬件和操作系统,因此一切都配合得天衣无缝。这种高度整合使 app 得以充分利用Retina显示屏、Multi-Touch 界面、加速感应器、三轴陀螺仪、加速图形功能以及更多硬件功能。FaceTime 就是一个绝佳典范。它使用前后两个摄像头、显示屏、麦克风和 WLAN 网络连接。这也使得ios是优化程度最好,最快的移动操作系统。
自带程序:在 iOS 5 中,主接口包括以下自带的应用程序: 信息、日历、照片、YouTube、股市、地图(AGPS辅助的Google地图)、天气、时间、计算机、备忘录、系统设置、iTunes(将会被链接到iTunes Music Store和iTunes广播目录)、App Store、Game Center以及联络信息。还有四个位于最下方的常用应用程序包括有:电话、Mail、Safari和iPod。(iPhone4S内置Siri)。[6]
除了电话、短信,iPod Touch保留了大部分iPhone自带的应用程序。iPhone上的“iPod”程序在iPod Touch上被分成了两个:音乐和视频。位于主界面最下方dock上的应用程序也根据iPod Touch的主要功能而改成了:音乐、视频、照片、iTunes、Game Center,第四代的iPod Touch更加有了相机和摄像功能!
iPad只保留部分iPhone自带的应用程序: 日历、通讯录、备忘录、视频、YouTube、iTunes Store、App Store以及设置;四个位于最下方的常用应用程序是:Safari、Mail、照片和iPod
4、Java 苹果至今仍没有宣布任何让iPhone运行Java的计划。但太阳微系统已宣布其将会发布能在iPhone上运行的Java虚拟机(JVM)的计划,它是基于Java的Micro Edition版本。这将让用Java应用程序得以在iPhone和iPod Touch上运行。
在这个计划发表之后,熟悉iOS软件开发协议的程序员们相信虽然iOS软件开发协议不允许应用程序后台运行(比如说在接电话的时候仍然运行程序), 但却允许自带的应用程序从其他的来源下载代码,而且它们还能与第三方应用程序相互作用(比如说Safari和Java虚拟机), 这可能会阻碍不与苹果合作的Java虚拟机的发展。很明显,在iPhone运行的Java在iOS软件开发协议所规定的范畴以外。
5、越狱
众所周知,iOS系统为闭源系统,非开源。用户权限很低,通过越狱来打开系统封闭的大门,使用户完全掌控iOS系统,可以随意的修改系统文件,安装插件,以及
安装一些App Store中没有的软件。
三、市场份额
苹果在全球市场的iPhone出货量为9300万部,同比接近翻番。在进入手机市场5年后,苹果2012年的手机出货量以超过1亿部。中国将成为苹果的关键市场,苹果的市场份额仍将快速上升。iPhone产品的首季度营收为227亿美元。更创造了iPhone
[7]4单日售出60多万部的历史记录!苹果应用商店是苹果公司提供给软件开发个人或者大型公司发售自己开发出的在iPhone、iPad或者iPod Touch上的应用软件的地方。开发者可以通过将自己开发的软件、游戏上传到App Store。如今苹果在线商店App Store的应用数量已经突破70万个,200亿次。
文献参考:
【ios项目总结】相关文章:
ios实训总结07-11
ios学习之个人总结06-17
创新项目项目总结06-25
项目经理项目总结07-20
设计项目的项目总结08-25
科研项目项目成果总结05-22
项目管理-项目总结报告07-22
总结项目08-09
项目总结08-29
项目工程总结05-23