一、故事背景 (虛擬背景) 某天我看到新同事在做 “扣費灰度” 功能,但他沒有復用項目里沉淀好的 GrayReleaseUtil,而是直接讓 AI 生成了一套全新的灰度邏輯。...
前言 今天聽說 CocoaPods 到今年年底大概率不更新了,想把依賴管理轉(zhuǎn)到 Swift Package Manager(SPM),于是把以前用 CocoaPods 做組件...
一、這份報告是什么 iOS 系統(tǒng)會定期生成 log-power 類型的診斷報告,記錄一段時間內(nèi)設(shè)備上所有 App 的電量、性能數(shù)據(jù)。你可以在「設(shè)置 → 隱私與安全 → 分析與...
一:枚舉 枚舉的定義Swift中的枚舉定義枚舉類型很簡單: 同 OC不同的是,Swift中的枚舉不單單可以是Int類型,也可以是其他類型 關(guān)聯(lián)值 (Associated Va...
打包成FrameWork xcode配置 App.framework 儲存編寫Flutter 的代碼 Flutter.framework 渲染引擎 cocoapod 導入 ...
本文首發(fā)于我的個人博客:「程序員充電站」[https://itcharge.cn]文章鏈接:「傳送門」[https://itcharge.cn/ios-memory-mana...
輕顏相機產(chǎn)品分析報告 ——“顏值時代”下的“她經(jīng)濟” 一.產(chǎn)品基本信息 產(chǎn)品名稱:輕顏相機 產(chǎn)品版本:IOS V2.2.0 體驗環(huán)境:IOS 12.1.4 體驗時...
一些概念 CI :持續(xù)集成,持續(xù)集成是指多名開發(fā)者在開發(fā)不同功能代碼的過程當中,可以頻繁的將代碼行合并到一起并切相互不影響工作。 CD:持續(xù)部署是基于某種工具或平臺實現(xiàn)代碼自...
LLVM概述 LLVM是構(gòu)架編譯器的框架系統(tǒng),以C++編寫而成,用于優(yōu)化任意程序語言編寫的程序編譯時間,鏈接時間,運行時間以及空閑時間,對開發(fā)者保持開發(fā)并兼容已有腳本。 LL...
iOS 底層原理 文章匯總[http://www.itdecent.cn/p/412b20d9a0f6] 本文主要分析 AutoReleasePool 以及 NSRunLo...
1. 理論基礎(chǔ)速成 1.1 靜態(tài)庫與動態(tài)庫 庫是已寫好的、供使用的 可復用代碼,每個程序都要依賴很多基礎(chǔ)的底層庫。 從本質(zhì)上,庫是一種可執(zhí)行代碼的二進制形式??梢员徊僮飨到y(tǒng)載...
一、鎖的分類 在分析其它鎖之前,需要先區(qū)分清楚鎖的區(qū)別,基本的鎖包括了二類:互斥鎖 和 自旋鎖。 1.1 自旋鎖 自旋鎖:線程反復檢查鎖變量是否可用。由于線程在這一過程中保持...
objc_autoreleaseReturnValue和objc_retainAutoreleasedReturnValue內(nèi)存分區(qū)和tagged Pointer 首先看看一...
一、GCD 簡介 1.1 GCD GCD(Grand Central Dispatch)本質(zhì)是 將任務(wù)添加到隊列,并且指定執(zhí)行任務(wù)的函數(shù)。 GCD是純C語言實現(xiàn),提供了非常強...
上篇文章 GCD底層分析(一)[http://www.itdecent.cn/p/1b2202ecb964] 分析了函數(shù)、隊列的創(chuàng)建、以及同步和異步函數(shù)的調(diào)用流程。那么有以...
KSCrash 是一個異常收集的開源框架。 它可以捕獲到Mach級內(nèi)核異常、信號異常、C++異常、Objective-C異常、主線程死鎖;當捕獲到異常后,KSCrash可以在...