(1) 特征页:一般是几张图片做的轮滑器,最后一张链接指向登录页,在更新广告比较频繁的电子商务app上,比如淘宝,一般会隔一段时间会读取新的广告页(Link现还未实现此功能)。个人认为有2种实现方式:①指令消息,EMB推一条消息,客户端接收消息,向服务端某一路径下载资源,替换原有广告页,接收消息之后客户端同时应该让用户下次进入时,先进入广告页 ②定时检测,每次应用启动或者每隔24小时检测。
(2) 登录功能,很多app登录页会有第三方登录,比如qq,微博(相应的sdk分别在相应的官网上下载)等登录,(link可能不适用),一些技术博客类app可能适用,大家看到的东西是一样的。
(3) 支付功能,比较多的是微信支付、支付宝支付、银联支付。
(4) 分享功能:比较多的是qq分享,微博分享,微信、朋友圈分享等等,同样需要下载相应sdk进行集成。
(5) 即时通讯:消息(socket),link现用的是GCDAsyncSocket,同时支持object-c和swift。
(6) 数据库存储:sqlite与coreData,FMDB是封装sqlite比较好的开源库,coreData 是苹果推荐使用的,优点是不用使用sql语句,直接操作模型,面向对象开发,但是对于一些复杂的数据库操作可能不是很容易实现,FMDB直接和sql语句打交道,熟悉sql的可能更容易找出问题。
(7) 图片缓存:SDWebImage,支持多线程间的图片缓存,AFNetWorking也支持。
(8) 网络访问库:ASIHttpRequest与AFNetWorking,ASI是早期的一个网络访问框架,但后期基本无人维护,同时也不支持64位,在link中最早使用ASIHttpRequest,后过度到AFNetWorking,AFN完美支持64位,并对于图片缓存,文件上传,大文件下载等都支持的比较好,link现基本没有使用ASI了。
(9) 文件解压缩:ZipArchive,用的比较多的开源库,link中涉及的解压缩都是用的ZipArchive。
(10) 二维码扫描:ZBarSDK以及苹果iOS7之后的系统AVMetadataObject,link中设计到的二维码被封装到BingoTouch里面,link里面仍存在ZBarSDK。
(11) 语音:AVFoundation以及以AVFoundation为基础封装的MLRecorder,Link现用的就是MLRecorder。
(12) json解析:第三方的有:JsonKit、sbJson,系统的有NSJSONSerialization,jsonkit能够很容易的将字符串转成你想要的数据模型,也能够将数据模型转成字符串以及数据流,现项目中使用了大量的jsonkit来处理,系统NSJSONSerialization效率更高,但相对jsonkit来说更加繁琐。
(13) 布局约束:系统NSLayoutConstraint以及Masonry(第三方),NSLayoutConstraint调用相对繁琐,Masonry使用起来可能更加方便容易。
(14) 图片浏览器:FGallery,Link聊天、动态里面的图片浏览就是基于FGallery。
(15) XML解析:TBXML(现使用的第三方库),GDataXMLNode(谷歌封装的),NSXMLParser(苹果系统自带的),GDataXMLNode是基于DOM方式加载的,NSXMLParser是基于SAX方式加载的。
(16) 转圈蒙板:SVProgressHUD(现LINK使用的)以及MBProgressHUD(网络上呼声相比较高的)
(17) 错误日志:Crashlytics(现项目中使用的第三方库)