一: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

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

iOS开源项目MobileProject功能点介绍的更多相关文章

  1. Github上600多个iOS开源项目分类及介绍

    将Github上600多个iOS开源项目进行分类并且有相应介绍,小伙伴们快来看呀 地址:http://github.ibireme.com/github/list/ios/

  2. 十款不容错过的Swift iOS开源项目及介绍

    1.十款不容错过的Swift iOS开源项目. http://www.csdn.net/article/2014-10-16/2822083-swift-ios-open-source-project ...

  3. 直接拿来用!最火的iOS开源项目

    1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是G ...

  4. (转)直接拿来用!最火的iOS开源项目(二)

    “每一次的改变总意味着新的开始.”这句话用在iOS上可谓是再合适不过的了.GitHub上的iOS开源项目数不胜数,iOS每一次的改变,总会引发iOS开源项目的演变,从iOS 1.x到如今的iOS 7, ...

  5. (转)直接拿来用!最火的iOS开源项目(一)

    1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是G ...

  6. 【转】GitHub平台最火的iOS开源项目——2013-08-25 17

    http://www.cnblogs.com/lhming/category/391396.html 今天,我们将介绍20个在GitHub上非常受开发者欢迎的iOS开源项目,你准备好了吗? 1. AF ...

  7. iOS开源项目

    在结束了GitHub平台上“最受欢迎的Android开源项目”系列盘点之后,我们正式迎来了“GitHub上最受欢迎的iOS开源项目”系列盘点.今天,我们将介绍20个在GitHub上非常受开发者欢迎的i ...

  8. GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。

    1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便 ...

  9. GitHub上最火的40个iOS开源项目

    1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS. Mac OS X网络通信类库,现在是 ...

随机推荐

  1. 用2263份证件照图片样本测试how-old.net的人脸识别

    上一年也就是这个时候微软根据自己的人脸识别API推出了一个识别照片中人脸年龄和性别的网站--http://how-old.net,小伙伴们各种玩耍,一年后的今天突发"奇想"地想测试 ...

  2. sql 删除重复行

    1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from ...

  3. 手机Fildder抓包_监控应用请求

    Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指co ...

  4. c#通过oledb获取excel文件表结构信息

    这个问题来自论坛提问,同理可以获得access等数据库的表结构信息. using System; namespace ConsoleApplication11 { class Program { pu ...

  5. Oracle sqlplus设置显示格式命令详解

    / 运行 SQL 缓冲区 ? [关键词] 对关键词提供 SQL 帮助 @[@] [文件名] [参数列表] 通过指定的参数,运行指定的命令文件 ACC[EPT] 变量 [DEF[AULT] 值] [PR ...

  6. windbg学习进阶之——windbg环境变量配置

    接触性能调优以来一直想学下windbg分析dump,每次看老师几个命令就能找到很底层的问题原因那简直就是羡慕加崇拜啊~但是这接近一年了,愣是没啥进展呢,主要就是在今天整理的这部分卡住了...这理由找的 ...

  7. 怎样解决PowerDesigner15出现许可证过期问题?

    今天打开PowerDesigner软件,出现许可证过期问题,怎样解决 1)打开软件安装路径(通过搜索打开文件所在路径或通过软件图标的属性打开)

  8. Output data in a cursor

    http://www.java2s.com/Code/SQL/Cursor/Outputdatainacursor.htm mysql> mysql> mysql> CREATE T ...

  9. 基于Erlang VM的函数式编程语言Elixir

    Elixir官网:http://elixir-lang.org/ Elixir是一种函数式动态语言,用于构建可伸缩.易维护的应用程序. Elixir是基于Erlang VM的,其广为人知的特点是运行低 ...

  10. marquee标签滚动效果

    <marquee></marquee>标签,默认从最右侧往左滚动: direction:设置滚动的方向: height:设置标签高度, width:设置标签宽度: behavi ...