一.編程語言
- Swift
- Objective-C
- C++/C
- JavaScript
二.操作系統(tǒng)
- Mac OSX
- iOS
- watchOS
- tvOS
- Linux常用命令
三.開發(fā)工具
- IDE :
1)Xcode
2)AppCode
- 調(diào)試工具:
1)Charles——是一款代理服務(wù)器何之,通過過將自己設(shè)置成系統(tǒng)(電腦或者瀏覽器)的網(wǎng)絡(luò)訪問代理服務(wù)器斜纪,然后截取請求和請求結(jié)果達到分析抓包的目的。
2)Wireshark——是一個網(wǎng)絡(luò)封包分析軟件河哑。網(wǎng)絡(luò)封包分析軟件的功能是擷取網(wǎng)絡(luò)封包,并盡可能顯示出最為詳細的網(wǎng)絡(luò)封包資料。
3)Reveal——UI調(diào)試神器廊遍,用來查看任意UI布局較方便。
4)Instruments—— 一個工具集贩挣,為我們提供了強大的程序性能分析及測試能力喉前。常用到的幾種:CPU 性能測試、圖形性能測試王财、內(nèi)存性能測試卵迂。
- 插件:
1)Alcatraz—— 插件管理工具。
2)VVDocument—— 是一個自動生成代碼注釋的工具,可以方便地將函數(shù)的參數(shù)名和返回值提取出來绒净。
3)XVim —— 一個Xcode的Vim插件,可以在Xcode的編輯窗口中開啟vim模式见咒。vim模式最大的好處是可以全鍵盤操作,可以方便地移動光標,一級復(fù)制丶粘帖代碼.XVim對于Xcode的分欄模式也有很好的支持。
5)FuzzyAutocompletePlugin —— 使用模糊的方式來進行代碼自動補全挂疆。
6)KSImageNamed -Xcode —— 當你輸入[UIImage imageNamed]時.會自動彈出上下文菜單,供你選擇你需要輸入的圖片資源名稱,另外在選擇圖片資源時,還可以在左側(cè)預(yù)覽該資源改览。
7)DerivedDataExterminator—— 一個清除Xcode緩存目錄的插件。
8)OMColorSense—— 是一個UIColor顏色輸入輔助工具,可以幫助你在編寫UIColor代碼時,實時瀏覽相應(yīng)的顏色缤言。
- 輔助工具:
1)xScope —— 設(shè)計者工具宝当,包括∶量度距離和角度的標尺、不同大小畫面的屏幕胆萧、放大鏡庆揩、精確垂直和水平標記輔助線、精確闊度, 高度和原來排成直線標記框架鸳碧、找尋畫面上全符合位置的交叉點盾鳞。
2)ImageOptim——圖片壓縮工具。
3)MarkMan ——設(shè)計稿添加標注瞻离。
4)Dash——Dash 是一個免費且開源的 API 文檔瀏覽器腾仅,能讓你的 iPad 和 iPhone 在脫機的情況下即時訪問超過 150 個 API 文檔集。你甚至可以生成自己的文檔集或請求引用文檔集套利。
5)Deploymate——可以幫你找出你在工程中不可用推励、不贊成使用、已廢棄的API肉迫。
6)FauxPas—— 它不僅可以有效檢測Xcode項目中所有元素存在的潛在問題验辞,還可以找出常見的錯誤、隱藏的bug喊衫、不良實踐以及可維護性和代碼風(fēng)格問題跌造,通過查找資源文件的錯誤,從而確保文件名參數(shù)的相關(guān)糾正效果。
7)PaintCode ——可以把繪制的矢量UI自動轉(zhuǎn)化為適用于iOS/OS X的Objective-C代碼壳贪。
- 命令行工具:
1)xcodebuild——通過命令行打包陵珍。
2)xcode-select ——更改默認xcode。
3)nomad
4)xctool——替換xcodebuild违施。
5)fastlane ——自動打包互纯。
- 持續(xù)集成:
1)Jenkins——持續(xù)的軟件版本發(fā)布/測試項目;監(jiān)控外部調(diào)用執(zhí)行的工作磕蒲。
2)Travis CI——開源持續(xù)集成構(gòu)建項目留潦。
3)Bot
四.開發(fā)基礎(chǔ)
- UI控件
- Storyboard & Xib
- Core Data & Sqlite
- Core Graphics ——繪圖框架
- Animation ——動畫效果
- Block & GCD
- Test Case編寫——測試用例
- Framework
- Autolayout
- 手勢識別,重力感應(yīng)
五.開發(fā)進階
引用計數(shù)
Runtime
Runloop
對象模型
Hybrid ——混合開發(fā)
沙盒機制
AVFoundation
Core Text
逆向與安全:
1)class dump——反編譯ipa包
2)IDA Pro——交互式反匯編器專業(yè)版
3)Hopper——反匯編工具
4)Class Guard ——有效的隱藏絕大多數(shù)的類辣往、協(xié)議兔院、方法、屬性和實例變量名
六.設(shè)計模式
- MVC
- MVVM
- 通知
- 代理
- KVO
- 工廠模式
- 命令模式
七.函數(shù)式編程
ReactiveCocoa——RAC排吴,是一個在KVO的基礎(chǔ)上建立Objective-C的框架秆乳,函數(shù)式響應(yīng)式框架,提供了組合和轉(zhuǎn)化數(shù)據(jù)流的API钻哩。將iOS中的Action屹堰、Delegate、Target街氢、KVO扯键、Block,NSNotification統(tǒng)一共同的消息傳遞機制進行事件處理珊肃,屬性變化荣刑,回調(diào)響應(yīng)。
RxSwift
八.開源項目
AFNetworking & Alamofire(swift數(shù)據(jù)請求)
Masonry
SDWebImage
SwiftyJSON——swift中處理json數(shù)據(jù)
JSPatch ——熱更新
React Native
九.包管理
CocoaPods
Carthage
Swift Package Manager
十.第三方服務(wù)
- 崩潰收集:
1)Bugly—— 騰訊Bugly伦乔,為移動開發(fā)者提供專業(yè)的異常上報和運營統(tǒng)計厉亏,幫助開發(fā)者快速發(fā)現(xiàn)并解決異常,同時掌握產(chǎn)品運營動態(tài)烈和,及時跟進用戶反饋爱只。
2)Crashlytics—— 專門為移動應(yīng)用開者發(fā)提供的保存和分析應(yīng)用崩潰信息的工具。Crashlytics 不會漏掉任何應(yīng)用崩潰信息招刹。在發(fā)生崩潰后恬试,用戶再次進入APP 并聯(lián)網(wǎng)情況下,日志自動上傳疯暑。
3)BugHD——iOS開發(fā)中很好用的崩潰分析工具训柴,它可以統(tǒng)計出開發(fā)中和發(fā)布后應(yīng)用中的詳細崩潰信息,崩潰出現(xiàn)在什么地方妇拯,什么時候幻馁,崩潰了多少次等等。
- 數(shù)據(jù)統(tǒng)計:
1)Google Analytics——是一個收集數(shù)據(jù)并將其分析整理成實用報告的平臺,通過向每個網(wǎng)頁插入JS跟蹤代碼來跟蹤用戶行為宣赔。這些用戶信息相關(guān)的數(shù)據(jù)將會被處理后傳入Google Analytics(無法修改)预麸,并在Google Analytics中生成分析報告。
2)友盟
3)MTA——騰訊移動分析是騰訊數(shù)據(jù)云,騰訊大數(shù)據(jù)戰(zhàn)略的核心產(chǎn)品,提供app應(yīng)用的移動統(tǒng)計分析,支持android/iOS平臺,實現(xiàn)用戶畫像儒将、數(shù)據(jù)可視化、數(shù)據(jù)挖掘对蒲、渠道效果分析等綜合數(shù)據(jù)服務(wù)钩蚊。
4)Flurry—— Flurry是一個免費為手機應(yīng)用開發(fā)者對自己的應(yīng)用進行統(tǒng)計的服務(wù),F(xiàn)lurry提供了一個非常好用 的LogEvent函數(shù)蹈矮, 我們可以把自己感興趣的事件都記錄下來砰逻,這樣就可以對用戶的行為做一個分析了。
5)AppAnnie—— App Annie是應(yīng)用分析和應(yīng)用市場數(shù)據(jù)的行業(yè)標準,提供操作簡便的平臺,助您拓展應(yīng)用業(yè)務(wù)泛鸟。
- 應(yīng)用分發(fā):
1)TestFlight —— TestFlight 是蘋果官方的發(fā)布測試版的軟件蝠咆。
2)蒲公英 —— 蒲公英app內(nèi)測分發(fā)平臺(pgyer.com)提供免費的蘋果ios|安卓android應(yīng)用app內(nèi)測分發(fā)托管|ios企業(yè)簽名|ios企業(yè)賬號。
3)FIR —— fir.im 為開發(fā)者提供測試應(yīng)用極速發(fā)布,應(yīng)用崩潰實時分析北滥、用戶反饋收集等一系列開發(fā)測試效率工具服務(wù),幫助開發(fā)者將更多精力放在產(chǎn)品的開發(fā)與應(yīng)用的優(yōu)化上刚操。
十一.App打包上傳與審核
- Apple Developer 官網(wǎng)
- itunes Connect 官網(wǎng)
- IAP
- 加急審核申請
- 打包腳本