沒有單元測試,何談重構 – iOS – 掘金
最近科技公司流年不利,那邊與整個矽谷唱反調的川普逆襲上臺了,這邊特斯拉被評為美國最不可靠汽車品牌,據報導是因為特斯拉為Model X增加了過於複雜的功能(高科技多也怪我咯),如前門採用電動開啟方式,中排座椅實現了電動移動,所有這些功能整合在一個平臺上,導致可靠…
關於 iOS App 版本控制以及強制更新 – iOS – 掘金
公司剛開始立項一個專案時候,往往專案方向變化比較大,所以專案框架也會經常變更。所以也就存在App的版本控制以及強制更新這個需求了。 自從蘋果從15年開始禁止在App中出現“版本檢查”以及“版本更新”這個功能後,App的更新就交給蘋果來做了。具體資料可以參考…
【開源】阿里巴巴 iOS App 模組化程式設計的框架實現方案 – iOS – 掘金
- 概述 0.1 基本架構 0.2 實現特性 0.3 設計原則 0.4 專案名來源 1 模組生命週期的事件 1.1 系統事件 1.2 通用事件 1.3 業務自定義事件 2. 模組註冊 2.1 靜態註冊 2.2 動態註冊 2.3 非同步載入 3…
iOS – 從零開始完成頁面切換形變動畫 – iOS – 掘金
前言 某天我接到了UI發給我的兩張圖: 需求圖.png 看到圖的時候我一臉懵逼,顯然我需要做一個頁面切換的指示動畫。老實說,從大三暑假開始做iOS開發也一年有餘了,但是遇到複雜動畫總是唯恐避之不及,只做過一些簡單的位移動畫。大腦中的舒適區總是讓我下意識避開…
JSPatch 熱修復 – iOS – 掘金
今天寫了一個jspatch的小demo,每一步都做了截圖,如果不瞭解JSPatch,大家可自行百度。JSPatch首頁。 一、背景需求介紹 為什麼我們需要一個熱修復(hot-fix)技術? …
iOS 更加優雅便捷的 UIAlertView/UIAlertController 封裝使用 – iOS – 掘金
前言: 之前做過一套關於UIAlertView/UIAlertController的混合封裝,詳見: iOS (封裝)一句話呼叫系統的alertView和…
iOS 自動簽名打包 (xcodebuild) – iOS – 掘金
iOS自動打包主要用xcodebuild命令, 在終端輸入xcodebuild –help可以檢視xcodebuild的引數。 xcodebuild具體語法: …
對 CAEmitterLayer,CAEmitterCell 做雪花效果的封裝 – iOS – 掘金
說明 在使用CAEmitterLayer,CAEmitterCell做雪花飄落效果的時候,遇到了幾個坑: …
iOS線性佈局 – 掘金
前言 首先寫這篇文章之前祝大家週末愉快,然後自我介紹一下,我叫吳海超(WHC)在iOS領域有豐富的開發架構經驗Github以後我也會以文章的形式分享具有實戰意義的文章給大家,希望能夠給大家有所幫助。 主題 這期我想給大家講講iOS中的線性佈局,我想做過Andr…
iOS 線性佈局 – iOS – 掘金
UIStackview…
iOS A/B Test 方案探索 – iOS – 掘金
引子 公元2016年末,2017年初,某做旅行產品的網際網路公司內,產品經理瘋狂的提 A/BTest 需求,以至於該司程式猿談AB色變,邪惡的產品經理令程式猿們聞風喪膽,苦不堪言…咳咳,扯遠了。 近期團隊做了很多 AB Test 的業務需求,在這…
23 種設計模式 iOS 實現 – iOS – 掘金
常用的 23 種設計模式 不管是 .NET 中的 C# 語言,還是 Java、VB.NET、C++ 或 Objective-C 語言,面向對…
Facebook 的 iOS 記憶體洩漏監測自動化實踐 – iOS – 掘金
原文連結 [需翻牆]:Automatic memory leak detection on iOS 記憶體是移動裝置上的共享資源,如果一個 App 無法正確地進行記憶體管理的話,將會導致記憶體消耗殆盡,閃退以及效能的嚴重下降。 Facebook 的 iOS 版本的許…
AXAnimationChain – iOS 鏈式動畫庫 – iOS – 掘金
Summary AXAnimationChain是一個鏈式動畫庫,可以用來輕鬆的建立基於CAAnimation的鏈式動畫。鏈的組合方式有兩種,一種是組合,另一種則是連結,通過以上兩種方式建立的動畫,既可以同時進行,也可以按時間先後進行,可以使用較少的程式碼建立出…
iOS 最基礎的主題切換 – iOS – 掘金
很多app中都有夜間模式或者換膚功能,一直沒有嘗試過,今天寫了一個簡單的demo。 主要是自定義控制器,封裝控制元件,完成導航欄,TabBar 文字顏色的切換,以及自定義Label 的文字大小,及顏色的切換。 …
iOS 中 HTTPS 證照驗證淺析 – iOS – 掘金
導語 在 WWDC 16 中,Apple 表示, 從 2017年1月1日起(最新訊息, 實施時間已延期),所有新提交的 App 使用系統元件進行的 HTTP 網路請求都需要是 HTTPS 加密的,否則會導致請求失敗而無法通過稽核。 精神哥對 HTTPS 的驗證…
自定義按鈕之:文字圖片位置隨意定製 – iOS – 掘金
可能有些看到這篇文章的朋友會覺得很不屑:“按鈕誰不會自定義?還需要看你的?” 也確實,按鈕是我們專案中最常見的控制元件之一,天天在使用。對於不同型別的按鈕,我們是否有更加簡便的方法來實現需求是我們需要做的。這裡我提出自己的兩種方法,您可以對你自己平時自定義按鈕的…
iOS runtime 之訊息轉發 – iOS – 掘金
Objective-C 是一門動態語言,它的動態性體現在它將很多編譯和連結時做的事推延到執行時處理,而這一機制主要依賴系統提供的 runtime 庫。利用 runtime 庫,我們能在執行時做很多事,例如 objc_setAssociatedObject 動態…
iOS runtime 之 Class 和 MetaClass – iOS – 掘金
Objective-C 是 C 的超集,提供了物件導向的機制,而物件導向思想裡有兩個重要的概念類和例項。那麼 Objective-C 裡類的結構是怎樣的呢?我們來一起學習記錄下。 首先了解幾個概念, id 在 objc.h 中我們可以看到id的定義 /// A…
iOS runtime 之 Category – iOS – 掘金
我們知道 Objective – C 中 Category 主要有以下作用: 不改變原有類的實現對類新增新的介面 將類的介面按功能模組分類,模組更清晰 宣告私有方法 我們還知道,即使沒有引入 Category 的標頭檔案,Category 的方法也會被新增進…
使用 python 找出 iOS 專案中沒有使用到的圖片資源 – iOS – 掘金
隨著版本迭代的進行,App 的體積不斷膨脹,專案中未使用到的圖片資源也不斷積累,這會導致 App 的下載成本變高,特別是在使用流量的情況下,因此清理掉專案中不再使用的圖片資源是很有必要的。我用 python 實現了下,原理很簡單,就是 find + grep …
iOS 元件化方案 – iOS – 掘金
最近在思考團隊擴張及專案數量增加的情況下,如何持續保障團隊高效產出的問題,很自然的想到了元件化這個話題。重翻了前段時間iOS開發圈關於元件化的討論,這裡做下梳理和自己的思考。 元件化的驅動力 在開始討論元件化技術方案之前,可以先思考下驅動專案元件化背後的原…
iOS 開發之玩轉藍芽 – iOS – 掘金
之前詳細談過不少關於HTTP協議的知識點,TCP/IP也通過tcpdump做過簡單的介紹,但網路協議的本質其實是連線,裝置或者端之間連線的方式有多種,常見的http或者基於tcp的socket只是森林一葉,還有些不那麼常見的協議比如藍芽。適當腦洞,也能玩出不少…
2016,堅持寫 iOS 技術部落格總結 – iOS – 掘金
今天是2016年最後一個工作日,給自己做篇寫文章的總結,同時也把過去一年的文章分門別類下,方便大家閱讀。 年初的時候,定了兩個小目標: GitHub上賺1000顆星星 堅持寫技術部落格 現在看來,總算沒以工作忙為藉口,把這兩個都給實現了,尤其…
iOS 開發 | 如何為網路介面編寫單元測試 – iOS – 掘金
純工具類APP已經淪為炮灰,移動APP幾乎都是基於網路的,因此寫單元測試,網路是一個繞不開的話題。實際iOS開發中,凡是基於http的網路連線, AFNetworking 幾乎已成為一個標準庫,比如發起一個post請求,會建立AFHTTPSessionMana…
iOS 檢查更新 – iOS – 掘金
1、從蘋果伺服器上查詢已釋出的最新應用版本號 請求的URL地址: http://itunes.apple.com/looku…你的應用程式的ID 返回的資料為json格式(包括開發者ID,…
iOS 擴充套件新特性之 Widget 開發 (Today) 及網路請求部分 – iOS – 掘金
最近在研究iOS的一些擴充套件,在找資料的過程中,發現說的大多不夠詳盡,抱著學習總結的目的,想把自己研究學習的過程記錄一下,有說的不對的地方歡迎大家批評指正,互相學習。 Widget主要作用是顯示一些重要的及時性資訊,或者提供一些重…