原创 NSTimer / CADisplayLink循環引用問題分析

背景:在使用定時器的時候,一不小心就會遇到循環引用問題,導致控制器不會被銷燬,定時事件也不會被終止。 錯誤代碼 class ViewController: UIViewController { var displayLink:

原创 回家,是最美的旅程

忘記上次十一回家是什麼時候,大概是十年前。今年註定是不平凡的一年,受新冠疫情影響,在家呆了好幾個月纔去上班,若干時間後的今年,第一次在家度過冬、春、夏,這次回來,趕上深秋,今年也算是體驗到了比較完整的四季,對於北漂的我來說,實屬不易。網上流

原创 HTML5 Web存儲之localStorage

HTML5 Web存儲之localStorage 背景 以前,網頁一般都是通過cookie在本地存儲數據,但是 cookie 不適合大量數據的存儲,因爲它們由每個對服務器的請求來傳遞,這使得 cookie 速度很慢而且效率也不高。

原创 如何獲取iPhone手機的UDID

背景:最近剛給開發者賬號續費,需要重新添加UDID,於是寫個簡單的文檔給其他業務的同事,方便查看設備的UDID。 一、Mac電腦 1. Mac自帶的音樂App 將手機連接到電腦,打開音樂App(或者叫iTunes App),

原创 Cocoapods常用操作命令

查看鏡像 gem sources -l *** CURRENT SOURCES *** https://gems.ruby-china.com/ 刪除鏡像 gem sources --remove https://rubyge

原创 Java獲取apk、ipa應用信息的思考與實踐

讀完這篇文章,你可能會瞭解到以下幾點: 1. 蒲公英爲什麼只上傳 ipa 文件,就可以下載 app 2. Java 解析 ipa 文件 (iOS 應用包) 3. Java 解析 apk 文件 (Android 應用包) 4.

原创 iOS異步任務調度 - OperationQueue、DispatchGroup、DispatchSemaphore、ReactiveSwift

需求 有A、B、C、D、E、F 六個任務,D依賴A、B的結果,E依賴B、C的結果,F依賴D、E的結果,A、B、C互不依賴,D、F之間不依賴,可以併發,整體要儘快執行完成。 參考實現 一、通過 OperationQueue 添加

原创 Xcode 11.4.1 Building for iOS Simulator, but the linked library '******.a' was built for iOS.

描述:今天升級xcode(v11.3 -> v11.4.1),編譯項目,報錯: Building for iOS Simulator, but the linked library 'xxx.a' was built for i

原创 CocoaPods pod install 超時的解決辦法

錯誤描述 [!] Error installing ReactiveCocoa [!] /usr/bin/git clone https://github.com/ReactiveCocoa/ReactiveCocoa.git /

原创 iOS開發之系統權限

背景 配合監管要求,針對APP用戶獲取管理權限做如下整改: APP在首次啓動頁面對權限進行解釋說明(包括解釋權限的涵義以及說明使用權限的用途) 個人中心-設置,增加權限設置菜單,展示涉及獲取的所有權限,以及展示當前開啓/關閉狀

原创 Swift-weak & unowned

Swift-weak & unowned 感謝喵神的《100個Swift開發必備 Tip》內容參考自 “Tip46 內存管理,weak和unowned” weak weak在引用的內容被釋放後,標記爲weak的成員將會自動變

原创 iOS-時間戳轉時間

iOS-時間戳轉時間 衆所周知,iOS默認生成的時間戳是10位整數,在調用接口時,如果服務器返回的是時間字符串或者是10位時間戳,轉換格式挺方便的,但如果服務器返回的是13位的時間戳,那麼就比較麻煩了。 10位時間戳 NSTi

原创 Swift-UICollectionView佈局之線性佈局

Swift-UICollectionView佈局之線性佈局 應用場景 輪播圖(AppStore) 數據展示(招商銀行賬單頁) 圖片查看器 實現思路 線性佈局,在二維平面上滾動,所以繼承自流水佈局(UICollectionVi

原创 LLDB-你可能遺忘的調試小技巧

現狀 大多數做了好幾年的iOS開發者(比如本人),用的最多的調試指令,大概是po (print object)吧,如下圖。對其他命令知之甚少,當然這也無傷大雅,只是效率上略低一些罷了~ (lldb) po tip "hello"

原创 Swift-自定義控件之IndicatorButton(帶動畫的按鈕)

Swift-自定義控件之IndicatorButton(帶動畫的按鈕) 應用場景 登錄或者註冊時,點擊按鈕發送請求,此時禁用按鈕,並且按鈕上加載菊花,提示用戶需要等待,請求回調之後隱藏菊花…… 實現思路 初步嘗試:動畫修改按