公司開發(fā)的SDK,是集成了各個平臺的商品,包括購買、分享、提現(xiàn)等功能,為了加快進度,我是使用了一些第三方。但是有些需求,比如分享到微信朋友圈或者還有,必須用到微信的SDK??紤]到后期的維護成本和集成,筆者采用了cocoapods管理第三方庫。
十載的寧武網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整寧武建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“寧武網(wǎng)站設(shè)計”,“寧武網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
筆者有片文章專門介紹SDK的開發(fā)步驟的,大家可以參考,我這里就直接進入主題了。
首先,你創(chuàng)建一個靜態(tài)的framework工程MyTestSDK,把這個工程集成cocpapods,至于如何集成cocpapods,網(wǎng)上有教程,自己搜索。這個時候把你項目中所用的第三方庫添加到Podfile文件中,然后 pod install。這個時候你command + B 編譯運行,如果你的第三方庫中還有Bundle資源,那么編譯后,第三方庫的bundle資源會被編譯,一起放到Products文件下的framework文件中,右鍵Show in Finder就會看到。如下圖所示的MBProgressHUD文件夾,里面都是MBProgressHUD第三方的資源文件。
然后把你的項目放入SDK工程中,編譯運行一下,看看有沒有錯誤。之所以先把SDK工程選用cocoapods管理,就是怕你的項目放入SDK中運行報錯。沒有任何問題,直接編譯即可。
由于SDK中的第三方是通過cocoapods管理的,所以接入者的項目也要用cocoapods管理。
1:把SDK工程中,Products文件夾下的framework文件copy到項目中,最好項目中建立一個文件夾,專門放SDK和bundle。我是放到了一個文件夾中,方便分類尋找。如下圖所示:
2:打開終端,cd到SDK所在的文件夾下,執(zhí)行如下命令,回車,創(chuàng)建spec文件。
其中,MyTestSDK是你的SDK名稱。
創(chuàng)建出來的spec文件,是個很長的文件,但是大部分都是注釋的,我這里只提取了有用的信息展示出來:
然后把spec中依賴的第三方庫,逐個加入到項目中的Podfie文件中。然后 終端打開,cd到自己的項目中,pod install即可。
本人親自測試過的,No Problem。當初感覺SDK如果依賴了第三方庫,接入的項目中也有同樣的第三方庫,會不會沖突啊,感覺好難搞啊。事實證明,通過spec進行依賴,可以很好的解決這個問題,也就沒有那么麻煩了。
首次開發(fā)SDK還是遇到了很多問題,運行出現(xiàn)很多bug,但是最后還是一一解決了,就是沒有記錄下bug和解決發(fā)的方法。
1;path路徑不對,就會報錯 ,如下
是因為我把路徑寫成了:
其實正確的寫法是:把“/”放在前面
2:SDK中有第三方,但是項目中的Podfile里面沒有這個第三方,報錯如下所示:
解決辦法是就是在項目中的 Podfile里面加入缺失的第三方庫,重新 pod install。
不用吧,可以寫中文啊,關(guān)鍵是一個軟件開發(fā)團隊間能夠互相看懂就ok吧
思路:
拿到當前的位置,這個你應(yīng)該可以做到吧。拿到后將位置的信息存儲到一個數(shù)組中NSArray
根據(jù)數(shù)組來構(gòu)建UITableView也不難吧。簡單寫一下吧
CLLocationCoordinate2D location=yourcurrentlocation;
NSArray list=@[location];
[self.tableView reloadData]; /////重新載入數(shù)據(jù)
接下來就是uitableview datasource的一些代理方法的調(diào)用了。
前面第一個函數(shù)是CAAnimation 的代理方法,在 animation 完成以后調(diào)用
后面的@xxx.f 等于 [NSNumber numberWithFloat:xxx]
Xcode插件神器
插件管理器
第一神器:注釋
1.前往GitHub下載工程文件:VVDocumenter-Xcode 2.用Xcode打開工程,Command + B Build成功后,可以在~/Library/Application Support/Developer/Shared/Xcode/Plug-ins目錄下看到生成的xcplugin文件: 3.重啟Xcode,在某個方法前輸入三個“ / ”,自動生成對應(yīng)的注釋: 然后tab并保全就可以了。 4.打開Xcode菜單,在Window選項下可以看到已經(jīng)安裝的插件: 點擊打開,可以設(shè)置該插件的選項: 感覺還是挺實用的,最重要是安裝過程非一般的簡單。
第二神器:XVim
第三神器:XToDo
第四神器:Cocoapods
第五神器:DXXcodeConsoleUnicodePlugin
第六神器:FuzzyAutocomplete
第七神器:GitDiff
第八神器:PrettyPrintJSON
第九神器:SCXcodeSwitchExpander
第十神器:Auto-Import
Xcode升級后插件失效解決方案
Xcode插件神器
作為iOS開發(fā)人員,不了解些常用的插件,不使用插件,開發(fā)效率怎么會夠快呢?那么問題來了,現(xiàn)在的你,使用過哪些xcode插件?如果沒有使用過插件,那么很遺憾,您錯過了很多好用的工具!
插件管理器
既然使用xcode插件,就應(yīng)該想想有沒有插件管理器呢?是的,有一個灰常有名的插件管理器叫Alcatraz,關(guān)于這個插件管理器如何安裝,請參考官方文檔
如果您已經(jīng)安裝過這個插件管理器,那么恭喜您可以直接看下面的內(nèi)容了?。?!
安裝完成以后,需要重啟Xcode后,然后在Xcode的菜單欄上就可以看到這樣package manager:
第一神器:注釋
開發(fā)必須有規(guī)范,不然維護成本就會提高。那么寫api時就應(yīng)該配上非常明確的注釋,而有一個插件VVDocument就是一個注釋神器。有了它,我們只需要使用///就會自動觸發(fā)生成格式化的注釋??聪旅娴睦樱覀儗懞眠@個API后,直接輸入///,就會生成下面這樣的注釋?。?!當然格式是可以調(diào)整的,這個插件提供了一個配置界面,可以修改觸發(fā)方式以及生成的樣式等。
/*!
* @author 黃儀標, 15-11-11 23:11:04
*
* #Description#
*
* @param patientModel #patientModel description#
* @param resultBlock #resultBlock description#
*
* @return #return value description#
*/
- ( instancetype ) initWithPatientModel : ( HYBPatientModel * ) patientModel resultBlock: ( HYBResultBlock ) resultBlock ;
看下圖,就是當前我的配置界面,如果想要修改就可以在這個界面直接修改?。?!
1.前往GitHub下載工程文件:VVDocumenter-Xcode
2.用Xcode打開工程,Command + B
Build成功后,可以在~/Library/Application Support/Developer/Shared/Xcode/Plug-ins目錄下看到生成的xcplugin文件:
3.重啟Xcode,在某個方法前輸入三個“ / ”,自動生成對應(yīng)的注釋:
然后tab并保全就可以了。
4.打開Xcode菜單,在Window選項下可以看到已經(jīng)安裝的插件:
點擊打開,可以設(shè)置該插件的選項:
感覺還是挺實用的,最重要是安裝過程非一般的簡單。
第二神器:XVim
我相信對于做過Web開發(fā)的人員,對vim這個工具是相當熟悉的吧。說真的,剛開始我也覺得這個東西不好用,不過那是因為不會用。后來看到有個同事是后端轉(zhuǎn)iOS的,他一直在使用XVim插件操作好快,于是就想學習一下這個東西怎么用。
事實如此,真的是相當棒的插件?,F(xiàn)在我的Xcode一直都有這個插件,而且對這個vim已經(jīng)熟悉了,其常用的操作命令都記住了。
現(xiàn)在,本人也在學習HTML5,使用Sublime Text3開發(fā)工具,這個也是神器,支持很多的插件,而且也支持vim,簡單是爽死了!?。∪绻苍谑褂?,一定要學習這個工具如何使用。
如果不想使用Alcatraz插件管理器來插件,可以直接到下載運行。
第三神器:XToDo
首先,其開源github地址為:
如果想要下載運行安裝,可以直接下載然后用xcode運行。
我們在開發(fā)時,經(jīng)常使用#warning來添加提醒信息,但是實際上很多項目里面有很多這樣的信息,這讓我們非常難找。有了XToDo這個神器,我們可以通過這個插件所提供的工具,直接查看。
支持的寫法:TODO,FIXME,???,!!!!??吹竭@幾個應(yīng)該可以猜得出來是什么意思了吧。沒錯,就是事項的意思。
我們在代碼中可以這樣添加:
// TODO: 在上線前需要將這個值設(shè)置為111(假設(shè))
const NSUInteger kAppInterfaceVersion = 111 ;
// FIXME: 這里是寫死的假數(shù)據(jù)
NSString *title = @"假數(shù)據(jù)" ;
// ???: 這里是什么意思?
NSString *value = [ self test ] ;
// !!!!: 警告區(qū)
NSString *warningVersion = @"1"
第四神器:Cocoapods
現(xiàn)在新的項目中幾乎都使用了Cocoapods來管理第三方庫了,因此,這個插件也是必備神器??!關(guān)于這個Cocoapods怎么使用,請閱讀這篇文章:[),這篇文章介紹了其基本使用,并且也教大家讓自己的開源項目也支持`Cocoapods`。
有了這個插件,就可以通過直觀的界面來操作了。當然,喜歡使用命令的也是可以的,本人就更喜歡直接操作命令。
第五神器:DXXcodeConsoleUnicodePlugin
你知道嗎?為什么Xcode控制臺Console打印出來的JSON數(shù)據(jù)中有中文時都是看不懂的字符?這讓人非常難受,只能通過斷點調(diào)試才能單步進去看到這個值。那么現(xiàn)在有了這個神器就不用這么麻煩了?。?!直接就可以打印出來看了?。?!
1.快捷鍵 option+c 會轉(zhuǎn)換當前 剪貼板 中的內(nèi)容并用一個對話框把轉(zhuǎn)換后的內(nèi)容顯示出來。
2.在 Xcode 的 Edit 菜單中勾選 ConvertUnicodeInConsole,然后 console 中再出現(xiàn) \u4e0e 時,就會自動轉(zhuǎn)換成 與 顯示。
第六神器:FuzzyAutocomplete
這個FuzzyAutocomplete可是相當好用的家伙,可以自動匹配所有的變量、函數(shù)名等,而且不要求順序。比如,Xcode自帶的智能提示,我們只能是順序的寫了前面的字符才能匹配出來提示。那么這個神器就不一樣了,不要求記得API的寫法順序,只要記住其中幾個字母,就可以匹配出來了,然后選擇就可以了。
看下圖,是不是很明智:
第七神器:GitDiff
對于項目使用了git這個來管理版本的開發(fā)人員來說,這可就是一個神器了。我們在文件中發(fā)動了任何地方,在左邊的代碼行號這里都會有相應(yīng)顏色顯示,一看就可以看出來了。
當然,對于不是使用git來管理的人來說,這個插件就沒有必要了。
看下圖的左邊,是不是不一樣了:
還可以點擊還原:
第八神器:PrettyPrintJSON
開發(fā)一定需要到調(diào)試接口,那么打印出來的JSON數(shù)據(jù)又是亂亂的,根本不能直觀看出來是什么結(jié)構(gòu)嘛。那么安裝這個東西就好辦了,直接可以顯示出很好的結(jié)構(gòu)。當然我們可以使用瀏覽器插件:JSON-handle插件,這個是google瀏覽器的插件,有了這個東西,將接口放到瀏覽器時,返回的JSON數(shù)據(jù)會自動格式化。
第九神器:SCXcodeSwitchExpander
這個插件也是好東西哦,當我們定義了枚舉結(jié)構(gòu)時,我們使用SCXcodeSwitchExpander插件就相當容易了。
我們定義一個枚舉:
typedef NS_ENUM ( NSUInteger , HYBErrorType ) {
kErrorTypeNetworkFail ,
kErrorTypeNetworkTimeout ,
kErrorTypeArgumentLess
}
當我們在使用時,我們聲明一個枚舉變量,然后輸入switch (枚舉變量)就會自動地展開了:
HYBErrorType errorType ;
switch ( errorType ) {
case kErrorTypeNetworkFail :
break ;
case kErrorTypeNetworkTimeout :
break ;
case kErrorTypeArgumentLess :
break ;
default :
break ;
}
這是不是很方便呢?必須的?。?!
第十神器:Auto-Import
這個Auto-Import插件是可以快速導入頭文件的插件。這個就不多說了,看圖吧?。?!
其實到現(xiàn)在我也沒有這么使用過。所以只能排第十了?。。?/p>
附上出處鏈接:{{page}}
分享文章:ios開發(fā)注釋,ios代碼注入
分享地址:http://www.ekvhdxd.cn/article22/dscsojc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、商城網(wǎng)站、建站公司、品牌網(wǎng)站制作、網(wǎng)站策劃、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)