資料介紹
軟件簡介
MobileProject介紹
MobileProject項目是一個以MVC模式搭建的開源功能集合,基于Objective-C上面進(jìn)行編寫,意在解決新項目對于常見功能模塊的重復(fù)開發(fā),MobileProject對于項目的搭建也進(jìn)行很明確的劃分,各個模塊職責(zé)也比較明確,MobileProject也引入的一些常用第三方插件、宏定義、工具幫助類等;整個項目也是在不斷更新跟維護(hù)中,功能點也會不斷更新;代碼支持iOS7以后版本;
MobileProject模塊簡介
主項目中的分層主要包含四個模塊,Main(主要)、Expand(擴(kuò)展)、Resource(資源)、Vender(第三方),還有本項目是有多個Tag,用于區(qū)分不同的版本,比如本地環(huán)境測試版、產(chǎn)品版,主要是通過Tag來區(qū)分,不同的標(biāo)識對應(yīng)不同的連接地址;當(dāng)然也可以設(shè)置其它不同的內(nèi)容;
Main(主要)模塊的內(nèi)容
此模塊主要目的是為了存放項目的頁面內(nèi)容,比如MVC的內(nèi)容,Base(基類)用于存放一些公共的內(nèi)容,其它功能模塊的提取,方便繼承調(diào)用;在本實例中已經(jīng)在BaseController整理的一個公用的ViewControllerExpand(擴(kuò)展)模塊的內(nèi)容
此模塊主要包含Const、Macros、Tool、NetWork、Category、DataBase六個子模塊;
Macros(宏)主要存放宏定義的地方,這邊有兩個宏文件,Macros.h主要是項目的一些主要宏,比如字體、版本、色值等,而ThirdMacros.h主要用于存放一些第三放SDK的key值;
Tool(工具類)主要存放一些常用的類,此處Logger用于存放日志的封裝幫助類,Reachability用于存放判斷網(wǎng)絡(luò)狀態(tài)的幫助類;
Network(網(wǎng)絡(luò))這邊主要用到Y(jié)TKNetwork 是猿題庫 iOS 研發(fā)團(tuán)隊基于 AFNetworking 封裝的 iOS 網(wǎng)絡(luò)庫,這邊是對它進(jìn)行一些修改,為了滿足不同Tag及不同的功能模塊可能訪問不同URL的要求;
Category(分類)主要用到Git上面iOS-Categories分類的內(nèi)容,多創(chuàng)建一個Other用于存放平時要擴(kuò)展的分類;
Resource(資源)模塊的內(nèi)容
資源模塊主要包含三方面,Global(全局)、Image(圖片)、Plist(配置文件);
Global用于存放項目一些全局的內(nèi)容,包含啟動項的內(nèi)容LaunchScreen.storyboard、頭部引用PrefixHeader.pch、語言包File.strings
Image用于存放圖片資源,可以根據(jù)功能模塊進(jìn)行再分不同的xcassets文件;
Plist用于存放plist文件,主要是本項目中會創(chuàng)建多個的Tag,而每個Tag都會有自個的plist文件進(jìn)行管理,所以統(tǒng)一存放方便管理;
部分代碼介紹
1:定義宏進(jìn)行區(qū)分不同的環(huán)境,可以根據(jù)要求再增加不同環(huán)境
#if?PRODUCT?? //產(chǎn)品環(huán)境#else???//測試環(huán)境#endif
2:對應(yīng)不同的環(huán)境API前綴
//測試環(huán)境 ????????self.develpoerDictionary=@{ACCOUNT_SERVERCENTER_Key:@"http://private-eda65-mock.com/",PICTURE_SERVERCENTER_key:@"圖片前綴",BUSINESSLOGIC_SERVERCENTER_key:@"業(yè)務(wù)邏輯前綴",UPDATEVERSION_SERVERCENTER_key:@"版本升級前綴"};????????//產(chǎn)品環(huán)境 ????????self.productDictionary=@{ACCOUNT_SERVERCENTER_Key:@"http://private-eda66-mock.com/",PICTURE_SERVERCENTER_key:@"圖片前綴",BUSINESSLOGIC_SERVERCENTER_key:@"業(yè)務(wù)邏輯前綴",UPDATEVERSION_SERVERCENTER_key:@"版本升級前綴"};
3:網(wǎng)絡(luò)請求
@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
可以指定不同的方式,以及請求對應(yīng)的前綴類型如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'#友盟統(tǒng)計無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(第三方)模塊的內(nèi)容
雖然項目中已經(jīng)用Pod來管理第三方插件,但對于一些可能要進(jìn)行修改的第三方可以存放在這邊,本實例中引用的幾個比較常用的第三方插件,簡單介紹其中的幾個,GVUserDefaults是對UserDefaults的封裝,簡單就可以用于存取操作;JDStatusBarNotification是在狀態(tài)欄提示效果的插件;ActionSheetPicker底部彈出如時間選擇、選項的插件;QBImagePickerController是照片選擇插件,支持多選并可以設(shè)置最多選擇張數(shù);
功能模塊的集成
1 集成百度地圖(3.0.0版),目前有百度定位功能(ThirdMacros.h修改相應(yīng)的key值)
2 集成友盟統(tǒng)計(ThirdMacros.h修改相應(yīng)的key值)
3 集成CocoaLumberjack日志記錄
4 引入第三方inputAccessoryView 解決為一些無輸入源的控件添加輸入響應(yīng)。比如按鈕、cell、view等
5 集成個推消息推送功能(ThirdMacros.h修改相應(yīng)的key值),證書也要用你們自個的消息證書;
6 集成友盟分享SDK,并在登錄頁實現(xiàn)的(QQ,微信,新浪)三種的第三方登錄功能(ThirdMacros.h修改相應(yīng)的key值)
7 集成友盟第三方分享(QQ空間分享,微信朋友圈,新浪微博分享,QQ微博分享,微信好友)
8 增加關(guān)于CocoaLumberjack日志記錄的展示及查看頁面
9 增加百度地圖顯示頁面功能實例,實現(xiàn)在地圖上顯示幾個坐標(biāo)點,并自定義坐標(biāo)點的圖標(biāo)跟彈出提示窗內(nèi)容,實現(xiàn)當(dāng)前定位并畫出行車路線圖;
10 增加FLEX,在本地測試版本開啟,F(xiàn)LEX是Flipboard官方發(fā)布的一組專門用于iOS開發(fā)的應(yīng)用內(nèi)調(diào)試工具,能在模擬器和物理設(shè)備上良好運作,而開發(fā)者也無需將其連接到LLDB/Xcode或其他遠(yuǎn)程調(diào)試服務(wù)器,即可直接查看或修改正在運行的App的每一處狀態(tài)。
11 增加FCUIID幫助類,用于獲取設(shè)備標(biāo)識
12 增加熱更新JSPatch插件,并增加相應(yīng)的幫助類及測試功能(JSPatchViewController)
13 集成啟動廣告功能模塊,如果不要功能可以在AppDelegate里面進(jìn)行注掉
14 集成CYLTabBarController插件,為項目增加底部4個TabBar菜單
15 引入LKDBHelper并增加創(chuàng)建數(shù)據(jù)庫幫助類,實現(xiàn)實體直接映射到數(shù)據(jù)庫表
16 集成第一次啟動的引導(dǎo)頁功能模塊
17 集成LBXScan插件,實現(xiàn)二維碼相關(guān)功能模塊,包含掃二維碼顯示結(jié)果、從相冊讀取圖片中的二維碼結(jié)果
18 封裝MBProgressHUD擴(kuò)展類,定義一些常見的提示效果,詳見MBProgressHUD+MP類
19 開發(fā)關(guān)于圖片上傳,包含選擇照片、拍照、瀏覽大圖、獲得圖片GPS、圖片名稱、圖片拍照時間、上傳時對圖片進(jìn)行轉(zhuǎn)正調(diào)整、壓縮圖片、圖片展現(xiàn)效果
20 開發(fā)關(guān)于圖片上傳帶進(jìn)度效果,并把照片先存入沙盒中,上傳成功刪除,引入M13ProgressSuite插件顯示進(jìn)度扇形效果,部分用到ReactiveCocoa知識;
21 編寫一個以iphone5為效果圖的字體適配屏幕,兼容iphone6+效果,如果你的效果圖不是iphone5,可以修改相應(yīng)的宏定義,現(xiàn)在是以iphone5為標(biāo)準(zhǔn)
22 編寫一個UITableViewCell倒計時功能,實例因為沒有服務(wù)端接口,所以時間都以本地時間為準(zhǔn),正式項目時間都要從服務(wù)端獲??;
23 引入WebViewJavascriptBridge進(jìn)行H5交互,并對官網(wǎng)實例進(jìn)行注解
24 增加省市區(qū)三級聯(lián)動的幫助類,可以設(shè)置綁定默認(rèn)值,也可以查看當(dāng)前的彈出窗狀態(tài),并實現(xiàn)其小實例
25 增加自定義彈出窗幫助類,模擬系統(tǒng)UIAlertView效果,增加一個帶UITextView的彈出效果,其它自定義視圖根據(jù)項目再創(chuàng)建;
效果圖:
- 如何使用MVC來開發(fā)音樂商店網(wǎng)站? 6次下載
- 在校園信息化平臺中研究與實現(xiàn)MVC2x框架_姚煉 1次下載
- 基于MVC的項目管理系統(tǒng)設(shè)計與實現(xiàn)_張勇軍 0次下載
- 基于MVC模式的地圖控件的設(shè)計
- Struts和Spring兩種MVC框架的比較 0次下載
- MVC模式在教學(xué)考評系統(tǒng)中的應(yīng)用 0次下載
- 基于MVC AJAX模式的辦公流系統(tǒng)開發(fā)
- Asp.net MVC框架自定義視圖引擎的實現(xiàn)
- 基于MVC模式的WEB應(yīng)用框架
- 基于Struts和Hibernate框架的Web應(yīng)用的設(shè)計與
- 基于Enhydra的MVC模式Web應(yīng)用解決方案
- 基于Struts框架構(gòu)建績效考核管理系統(tǒng)
- 基于J2EE架構(gòu)的管理信息系統(tǒng)的設(shè)計與開發(fā)
- 基于Struts框架和Procedure的Web開發(fā)模式
- 基于MVC框架的公共部門績效評價系統(tǒng)
- SSM框架的源碼解析與理解 331次閱讀
- 基于gin封裝的web服務(wù)框架升級 531次閱讀
- 當(dāng)年很流行,現(xiàn)在已經(jīng)淘汰的Java技術(shù) 772次閱讀
- 基于SSM框架的新聞管理系統(tǒng) 1385次閱讀
- 基于SSM框架的畢業(yè)設(shè)計管理系統(tǒng) 1724次閱讀
- 單片機(jī)實用框架-1 760次閱讀
- 教程|基于Actor Framework的MVC設(shè)計實現(xiàn) 3983次閱讀
- 基于MVC模式+狀態(tài)設(shè)計模式的物聯(lián)網(wǎng)氣體檢測開源項目 792次閱讀
- 什么是MVC框架 9490次閱讀
- 基于MVC設(shè)計模式實現(xiàn)可擴(kuò)展web應(yīng)用架構(gòu)的設(shè)計 3866次閱讀
- Python自動化測試框架有哪些? 4687次閱讀
- ssi框架學(xué)習(xí)總結(jié) 1213次閱讀
- django快速搭建blog 1787次閱讀
- 什么是Hibernate?Hibernate框架架構(gòu)與框架原理分析 5313次閱讀
- Activiti與Spring Boot的項目開發(fā) 6430次閱讀
下載排行
本周
- 1人工智能+消費:技術(shù)賦能與芯片驅(qū)動未來
- 15.25 MB | 4次下載 | 免費
- 2?業(yè)電源&模塊電源產(chǎn)品?冊
- 15.40 MB | 1次下載 | 免費
- 379M15 TO-252三端穩(wěn)壓IC規(guī)格書
- 0.86 MB | 次下載 | 免費
- 4MBRD20150CT TO-252肖特基二極管規(guī)格書
- 0.54 MB | 次下載 | 免費
- 5自動鎖螺絲運動控制系統(tǒng)用戶手冊
- 6.65 MB | 次下載 | 5 積分
- 6奧特光耦產(chǎn)品手冊
- 4.83 MB | 次下載 | 免費
- 7SMA系列10MHz~40GHz同軸檢波器
- 559.60 KB | 次下載 | 免費
- 8CD7388CZ:7W×4 四通道音頻功率放大電路技術(shù)手冊
- 0.39 MB | 次下載 | 10 積分
本月
- 1元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 241次下載 | 免費
- 2元宇宙底層硬件系列報告
- 13.42 MB | 184次下載 | 免費
- 32022 年展望報告 – 半導(dǎo)體產(chǎn)業(yè)
- 1.43 MB | 136次下載 | 免費
- 4晶振與濾波器應(yīng)用電路《電子工程師必備:元器件應(yīng)用寶典》
- 1.57 MB | 90次下載 | 免費
- 5汽車電子行業(yè)深度解析:智能化與電動化方興未艾
- 6.47 MB | 71次下載 | 免費
- 6中國DPU行業(yè)白皮書
- 23.80 MB | 37次下載 | 免費
- 7晶科鑫代理線-微盟電子2021年度產(chǎn)品目錄選型手冊
- 14.75 MB | 27次下載 | 免費
- 8SJK晶振產(chǎn)品目錄-簡化版-2022
- 13.77 MB | 20次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935134次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191425次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183352次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App






創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻





上傳資料賺積分
評論