iOS開源項目MobileProject功能點介紹,iosmobileproject

來源:互聯網
上載者:User

iOS開源項目MobileProject功能點介紹,iosmobileproject

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

如果喜歡或者有協助可以點星哈,如果您也有空閑時間可以一起完善,保持關注會不斷的更新功能;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.