资料介绍
软件简介
MobileProject介绍
MobileProject项目是一个以MVC模式搭建的开源功能集合,基于Objective-C上面进行编写,意在解决新项目对于常见功能模块的重复开发,MobileProject对于项目的搭建也进行很明确的划分,各个模块职责也比较明确,MobileProject也引入的一些常用第三方插件、宏定义、工具帮助类等;整个项目也是在不断更新跟维护中,功能点也会不断更新;代码支持iOS7以后版本;
MobileProject模块简介
主项目中的分层主要包含四个模块,Main(主要)、Expand(扩展)、Resource(资源)、Vender(第三方),还有本项目是有多个Tag,用于区分不同的版本,比如本地环境测试版、产品版,主要是通过Tag来区分,不同的标识对应不同的连接地址;当然也可以设置其它不同的内容;
Main(主要)模块的内容
此模块主要目的是为了存放项目的页面内容,比如MVC的内容,Base(基类)用于存放一些公共的内容,其它功能模块的提取,方便继承调用;在本实例中已经在BaseController整理的一个公用的ViewControllerExpand(扩展)模块的内容
此模块主要包含Const、Macros、Tool、NetWork、Category、DataBase六个子模块;
Macros(宏)主要存放宏定义的地方,这边有两个宏文件,Macros.h主要是项目的一些主要宏,比如字体、版本、色值等,而ThirdMacros.h主要用于存放一些第三放SDK的key值;
Tool(工具类)主要存放一些常用的类,此处Logger用于存放日志的封装帮助类,Reachability用于存放判断网络状态的帮助类;
Network(网络)这边主要用到YTKNetwork 是猿题库 iOS 研发团队基于 AFNetworking 封装的 iOS 网络库,这边是对它进行一些修改,为了满足不同Tag及不同的功能模块可能访问不同URL的要求;
Category(分类)主要用到Git上面iOS-Categories分类的内容,多创建一个Other用于存放平时要扩展的分类;
Resource(资源)模块的内容
资源模块主要包含三方面,Global(全局)、Image(图片)、Plist(配置文件);
Global用于存放项目一些全局的内容,包含启动项的内容LaunchScreen.storyboard、头部引用PrefixHeader.pch、语言包File.strings
Image用于存放图片资源,可以根据功能模块进行再分不同的xcassets文件;
Plist用于存放plist文件,主要是本项目中会创建多个的Tag,而每个Tag都会有自个的plist文件进行管理,所以统一存放方便管理;
部分代码介绍
1:定义宏进行区分不同的环境,可以根据要求再增加不同环境
#if PRODUCT //产品环境#else //测试环境#endif
2:对应不同的环境API前缀
//测试环境 self.develpoerDictionary=@{ACCOUNT_SERVERCENTER_Key:@"http://private-eda65-mock.com/",PICTURE_SERVERCENTER_key:@"图片前缀",BUSINESSLOGIC_SERVERCENTER_key:@"业务逻辑前缀",UPDATEVERSION_SERVERCENTER_key:@"版本升级前缀"}; //产品环境 self.productDictionary=@{ACCOUNT_SERVERCENTER_Key:@"http://private-eda66-mock.com/",PICTURE_SERVERCENTER_key:@"图片前缀",BUSINESSLOGIC_SERVERCENTER_key:@"业务逻辑前缀",UPDATEVERSION_SERVERCENTER_key:@"版本升级前缀"};
3:网络请求
@interface LogInApi() { NSString *_username; NSString *_password; }@end@implementation LogInApi- (id)initWithUsername:(NSString *)username password:(NSString *)password { self = [super init]; if (self) { _username = username; _password = password; } return self; } - (NSString *)requestUrl { return @"user/login"; } - (YTKRequestMethod)requestMethod { return YTKRequestMethodPost; } -(SERVERCENTER_TYPE)centerType{ return ACCOUNT_SERVERCENTER; } - (id)requestArgument { return @{ @"user_name": _username, @"user_password": _password }; }@end
可以指定不同的方式,以及请求对应的前缀类型如ACCOUNT_SERVERCENTER
4: 目前Pod管理的第三方插件
platform :ios, '7.0'pod 'AFNetworking', '~>2.6.0'pod 'ReactiveCocoa', '~> 2.5'pod 'SDWebImage', '~> 3.7.5'pod 'JSONModel', '~> 1.0.1'pod 'Masonry','~>0.6.1'pod 'FMDB/common' , '~>2.5'pod 'FMDB/SQLCipher', '~>2.5'pod 'CocoaLumberjack', '~> 2.0.0-rc'pod 'BaiduMapKit' #百度地图SDK pod 'UMengAnalytics-NO-IDFA'#友盟统计无IDFA版SDK pod 'GTSDK' #个推SDK pod 'UMengSocial', '~> 4.3' #友盟社会化分享及第三方登录 pod 'FLEX', '~> 2.0', :configurations => ['Debug'] pod 'ActionSheetPicker-3.0'pod 'JSPatch'pod 'XAspect'pod 'CYLTabBarController'pod 'LKDBHelper'pod 'RegexKitLite', '4.0'pod 'IQKeyboardManager'pod 'LBXScan','~> 1.1.1'pod 'MBProgressHUD', '~> 0.9'pod 'MWPhotoBrowser'pod 'M13ProgressSuite', '~> 1.2.7'pod 'WebViewJavascriptBridge', '~> 5.0'
Vender(第三方)模块的内容
虽然项目中已经用Pod来管理第三方插件,但对于一些可能要进行修改的第三方可以存放在这边,本实例中引用的几个比较常用的第三方插件,简单介绍其中的几个,GVUserDefaults是对UserDefaults的封装,简单就可以用于存取操作;JDStatusBarNotification是在状态栏提示效果的插件;ActionSheetPicker底部弹出如时间选择、选项的插件;QBImagePickerController是照片选择插件,支持多选并可以设置最多选择张数;
功能模块的集成
1 集成百度地图(3.0.0版),目前有百度定位功能(ThirdMacros.h修改相应的key值)
2 集成友盟统计(ThirdMacros.h修改相应的key值)
3 集成CocoaLumberjack日志记录
4 引入第三方inputAccessoryView 解决为一些无输入源的控件添加输入响应。比如按钮、cell、view等
5 集成个推消息推送功能(ThirdMacros.h修改相应的key值),证书也要用你们自个的消息证书;
6 集成友盟分享SDK,并在登录页实现的(QQ,微信,新浪)三种的第三方登录功能(ThirdMacros.h修改相应的key值)
7 集成友盟第三方分享(QQ空间分享,微信朋友圈,新浪微博分享,QQ微博分享,微信好友)
8 增加关于CocoaLumberjack日志记录的展示及查看页面
9 增加百度地图显示页面功能实例,实现在地图上显示几个坐标点,并自定义坐标点的图标跟弹出提示窗内容,实现当前定位并画出行车路线图;
10 增加FLEX,在本地测试版本开启,FLEX是Flipboard官方发布的一组专门用于iOS开发的应用内调试工具,能在模拟器和物理设备上良好运作,而开发者也无需将其连接到LLDB/Xcode或其他远程调试服务器,即可直接查看或修改正在运行的App的每一处状态。
11 增加FCUIID帮助类,用于获取设备标识
12 增加热更新JSPatch插件,并增加相应的帮助类及测试功能(JSPatchViewController)
13 集成启动广告功能模块,如果不要功能可以在AppDelegate里面进行注掉
14 集成CYLTabBarController插件,为项目增加底部4个TabBar菜单
15 引入LKDBHelper并增加创建数据库帮助类,实现实体直接映射到数据库表
16 集成第一次启动的引导页功能模块
17 集成LBXScan插件,实现二维码相关功能模块,包含扫二维码显示结果、从相册读取图片中的二维码结果
18 封装MBProgressHUD扩展类,定义一些常见的提示效果,详见MBProgressHUD+MP类
19 开发关于图片上传,包含选择照片、拍照、浏览大图、获得图片GPS、图片名称、图片拍照时间、上传时对图片进行转正调整、压缩图片、图片展现效果
20 开发关于图片上传带进度效果,并把照片先存入沙盒中,上传成功删除,引入M13ProgressSuite插件显示进度扇形效果,部分用到ReactiveCocoa知识;
21 编写一个以iphone5为效果图的字体适配屏幕,兼容iphone6+效果,如果你的效果图不是iphone5,可以修改相应的宏定义,现在是以iphone5为标准
22 编写一个UITableViewCell倒计时功能,实例因为没有服务端接口,所以时间都以本地时间为准,正式项目时间都要从服务端获取;
23 引入WebViewJavascriptBridge进行H5交互,并对官网实例进行注解
24 增加省市区三级联动的帮助类,可以设置绑定默认值,也可以查看当前的弹出窗状态,并实现其小实例
25 增加自定义弹出窗帮助类,模拟系统UIAlertView效果,增加一个带UITextView的弹出效果,其它自定义视图根据项目再创建;
效果图:
- JSI项目分两部分框架内核 6次下载
- 如何使用MVC来开发音乐商店网站? 6次下载
- 在校园信息化平台中研究与实现MVC2x框架_姚炼 1次下载
- 基于MVC的项目管理系统设计与实现_张勇军 0次下载
- 基于MVC模式的地图控件的设计 23次下载
- Struts和Spring两种MVC框架的比较 0次下载
- MVC模式在教学考评系统中的应用 0次下载
- 基于Struts框架的小城镇电子政务系统 15次下载
- 基于MVC AJAX模式的办公流系统开发 14次下载
- Asp.net MVC框架自定义视图引擎的实现 36次下载
- 基于MVC模式的WEB应用框架 12次下载
- 基于Enhydra的MVC模式Web应用解决方案 10次下载
- 基于J2EE架构的管理信息系统的设计与开发 30次下载
- 基于Struts框架和Procedure的Web开发模式 79次下载
- 基于MVC框架的公共部门绩效评价系统 11次下载
- 基于gin封装的web服务框架升级 219次阅读
- 高性能网络框架之XDP技术解析 1497次阅读
- 基于SSM框架的新闻管理系统 828次阅读
- 基于SSM框架的毕业设计管理系统 1022次阅读
- 教程|基于Actor Framework的MVC设计实现 2580次阅读
- 基于MVC模式+状态设计模式的物联网气体检测开源项目 494次阅读
- 什么是MVC框架 8303次阅读
- cartography框架安装与建图测试 1105次阅读
- 基于MVC设计模式实现可扩展web应用架构的设计 3539次阅读
- 嵌入式应用框架EAF详解 2460次阅读
- Python自动化测试框架有哪些? 4428次阅读
- ssi框架学习总结 1071次阅读
- django快速搭建blog 1629次阅读
- 什么是Hibernate?Hibernate框架架构与框架原理分析 5034次阅读
- Activiti与Spring Boot的项目开发 6247次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多