• iOS开源项目MobileProject功能点介绍


    一:MobileProject简介

    MobileProject项目是一个以MVC模式搭建的开源功能集合,基于Objective-C上面进行编写,意在解决新项目对于常见功能模块的重复开发,MobileProject对于项目的搭建也进行很明确的划分,各个模块职责也比较明确,MobileProject也引入的一些常用第三方插件、宏定义、工具帮助类等;整个项目也是在不断更新跟维护中,功能点也会不断更新;代码支持iOS7以后版本;

     

    二:项目框架内容

     

    三:功能点介绍

     

    1:JSPatch热更新功能

    相信关于JSPatch插件用于项目的热更新应该是比较常见的功能,在MobileProject里面就实现一个关于热更新的效果,并且有封装一个帮助类,对于热更新的JS文件下载及运用进行说明;包含一些下载的次数控制等;

    2:LKDB实体映射数据库的运用

    在平时开发过程中经常会碰到跟数据库打交道,而LKDB是一个不错的实体映射成数据库插件,可以很轻松就能完成实体针数据库列的映射,并能进行一些在实体层面上的增删改查的操作,当然也可以进行SQL语句的运用;能够满足我们平时项目的运用;

    3:百度地图的运用

    在平常项目中对于地图的运用可能包含显示跟定位等相关的内容,MobileProject项目里有一个关于百度地图的车行路线生成实例,并且修改大头针跟弹出窗的效果,代码中还运用百度地图进行定位,并对手机不同的语言进行定位城市的处理功能;使其在定位获取城市名字时一定是中文,排除由于手机设置语言的原因导致城市名称不对等;

    4:二维码功能运用

    MobileProject中的二维码主要是在基于插件LBXScan上进行开发,其封装已经满足平常我们见到的二维效果,项目实例主要是包含关于扫描跟从相册选取照片然后读取上面的二维码效果,当然LBXScan还可以读取条形码的功能,可以去查看其官方实例效果;

    5:照片上传功能及附带进度上传效果

    照片上传应该是每个APP必备的功能模块,所以MobileProject对它进行的一个简单整理,主要实现了,包含选择照片、拍照、浏览大图、获得图片GPS、图片名称、图片拍照时间、上传时对图片进行转正调整、压缩图片、图片展现效果等,项目中也还有另外一种上传效果,就是带进度的上传,选择完几张照片它会每张进间上传并有相应的扇形进度效果;

    6:字体适配机型

    针对目前iPhone机型已经越来越多的状态下,在设计只出一种效果图的情况下,要在不同的屏幕大小显示出不同的字体大小跟布局,在MobileProject定义的几种宏,其假设效果图是用iphone5出,通过这几个宏的运用就可以兼容在ipone6+等下的布局,解决以前关于大屏字体变小等问题;

    7:日志记录

    日志记录功能应该是每个APP必备,项目中运用了CocoaLumberjack进行日志记录的展示,并在公共页面里已经增加了两个展现页,用于展现记录的内容,在详细的错误记录里面还有一个邮件发送的功能,可以把错误内容通过邮件发送给开发人员,解决项目上线后关于BUG的收集难题,MobileProject中也根据不同的环境设置记录等级,也在项目里面增加在控制台进行有色字体提示;

    8:列表空白页展现

    项目中有时在列表没有数据或者说是网络请求出现的情况下是要有相关提示,MobileProject也引入的一个空白提示效果用于其功能,基本上可以满足平时的开发要求;

    9:自定义弹出窗

    自定义的弹出窗UIAlert在IOS7跟IOS8以后是有不一样的效果,经常会在一些项目中要求模拟系统的UIAlert的样式进行编写,针对这种情况加入的一个自定义弹出窗,模拟系统UIAlertView效果,增加一个带UITextView的弹出效果,其它自定义视图根据项目再创建;实例中有几个这方面的实例;

    10:其它功能模块

    a:关于引导页功能的封装,只要简单传入一组图片就可以实现引导页的功能模块

    b:关于启动广告功能的封装,同样也是传入一组图片就可以有展现效果,图片还是加载服务端,下载并保存在本地;

    c:友盟管理帮助类的封装,主要是一些关于友盟统计的代码跟页面记录功能,结合runtime功能进行记录效果

    d:记录设备唯一标识功能,在IOS中现在是不能再获取设备的唯一码,在MobileProject引入的一个插件从而可以获取设备的FCUUID,同样可以达到相应的效果;

    e:省市区三级联动的效果功能,从本地读取省市区数据并加载,可以绑定默认值及选择后的效果;

    f:还有关于友盟第三方登录的功能及友盟第三方分享的功能

    g:封装MBProgressHUD扩展类,定义一些常见的提示效果,详见MBProgressHUD+MP

    h:集成CYLTabBarController插件,为项目增加底部4个TabBar菜单,并且有相应的未读提醒效果,及点击事件的运用;

    i:集成个推消息推送功能(ThirdMacros.h修改相应的key值),证书也要用你们自个的消息证书;

    j:增加FLEX,在本地测试版本开启,FLEX是Flipboard官方发布的一组专门用于iOS开发的应用内调试工具,能在模拟器和物理设备上良好运作,而开发者也无需将其连接到LLDB/Xcode或其他远程调试服务器,即可直接查看或修改正在运行的App的每一处状态。

    k:UITableViewCell倒计时功能,实例因为没有服务端接口,所以时间都以本地时间为准,正式项目时间都要从服务端获取;

    l:引入WebViewJavascriptBridge进行H5交互,并对官网实例进行注解

     

    四:总结

    上面主要列出一些目前项目中的封装或者是实例功能模块,还有一些其它的运用就没有在这详细进行讲解,比如网络运用、宏定义、分类扩展类、其它小型帮助类等,可以下载源代码进行查看,项目也在不断的完善中,对于项目的构架也在提一步的提升,对于编写的代码也不断的优化;

    项目的源代码地址:https://github.com/wujunyang/MobileProject

    如果喜欢或者有帮助可以点星哈,如果您也有空闲时间可以一起完善,保持关注会不断的更新功能;

     

    最近有个妹子弄的一个关于扩大眼界跟内含的订阅号,每天都会更新一些深度内容,在这里如果你感兴趣也可以关注一下(嘿对美女跟知识感兴趣),当然可以关注后输入:github 会有我的微信号,如果有问题你也可以在那找到我;当然不感兴趣无视此信息;

  • 相关阅读:
    程序员的困境
    linux中获取系统时间 gettimeofday函数
    Vim 模式及常用命令整理
    使用stringstream进行类型转换与字符串分割
    EasyNet开源项目计划
    用Akka构建一个简易的分布式文件系统
    SolrCloud攻略
    EasyNet.Solr 4.4.0发布及例子
    axis2调用webservice
    Oracle常用函数2查询
  • 原文地址:https://www.cnblogs.com/wujy/p/5774019.html
Copyright © 2020-2023  润新知