学习过计算机网络,操作系统,数据结构等一些基础课程。
熟练Objective-C语言,及Xcode开发环境。了解OC语言中一些重点知识,例如ARC、block。
熟悉OC中常用的设计模式,例如单例模式、通知、MVC模式、委托模式等。
掌握iOS开发中的常用工具cocoapods第三方框架管理工具。
熟悉Socket网络编程基础,了解TCP/IP、RTMP网络传输协议。
使用过第三方开源框架进行编程,主要用过AFNetWorking实现数据请求,LFLiveKit进行音视频数据推流以及IJKPlayer播放音视频数据。看过一些FFmpeg方面的文章。
用过第三方环信开发平台模仿微信应用。
使用过一些方便开发的插件,例如 KSImageNamed为项目中使用的UIImage的imageNamed提供文件名自动补全功能,Alcatraz一个开源的Xcode 插件管理工具,可以更便捷地发现、安装以及管理插件、模板和配色方案。
项目:爱传递-再生电脑
开发平台: MacOS 10.11.6 Xcode8.1
项目描述:该项目是上海众谷公益青年发展中心发起的“再生电脑”项目。该项目使用socket与服务器端进行交互,因此用到AsyncSocket框架;使用MapKit展示地图;对于音视频模块使用LFLiveKit推流框架和IJKPlayer直播框架,LFLiveKit支持RTMP和FLV两种流类型,并且有美颜的功能,它主要用OC编写,其余部分使用C语言编写,易于阅读;对于IJKPlayer它是基于ffmpeg支持Android和IOS;用UIImageView显示二维码,CoreImage框架生成二维码。
项目职责:我完成的部分有:
①使用socket与服务器端建立连接,通过发送心跳包检测应用与服务器端的连接状态是否正常;
②联系人界面通过UITableView实现可以收缩的两级列表的联系人界面,在联系人界面实现新消息未读提醒;
③聊天工具条通过自定义view实现,工具条中也实现了点击更多按钮后的更多面板;
④音视频聊天,实现了摄像头基本数据的获取,使用第三方的LFLiveKit框架进行推流以及IJKPlayer框架播放从服务器获取到的音视频数据,用CocoaPods将LFLiveKit导入项目中;
⑤文本聊天时对键盘监听,通过键盘的弹出和退下位置调整聊天工具条的位置;
⑥应用的下载二维码,二维码的实现用到Core Image框架,创建CIFilter对象产生CIImage,用UIImageView显示二维码,因此用到CIImage与UIImage的转换;
项目开发过程使用纯代码完成,并未使用Storyboard和Xib。同时项目已经发布到AppStore上,所以熟悉项目的发布流程。
项目感受:这个项目总的来说让我熟悉了APP开发的整个流程,综合使用各个控件以及学会如何简单的使用第三方的框架,锻炼自己的综合应用能力。