原创 iOS數字媒體開發淺析

概述 自然界中的所有看到的聽到的都是模擬信號,模擬信號是隨時間連續變化,然而手機電腦等信息都屬於數字媒體,它們所呈現的內容就是把自然界中這些模擬信號轉換成數字信號然後再傳遞給我們。數字信號不是連續的是離散的,只有0與1兩種狀態,所

原创 iOS9 class dump header

獲取系統私有API,網上有很多資料總結了一下就三種方式: 使用class-dump可以提取系統私有API列表 使用class-dump+DumpFrameworks.pl,這個可以一次性提取所有系統Framework與Priva

原创 iOS富文本(一)屬性化字符串

概述 iOS一些複雜的文本佈局一般都是由底層的Core Text來實現的,直到iOS7蘋果發佈了Text Kit框架,Text Kit能夠很簡單實現一些複雜的文本樣式以及佈局,而Text Kit富文本框架用到的核心數據結構就是屬性

原创 Xcode調試工具Instruments指南

主要途徑是參考蘋果官方文檔,所以介紹以翻譯官方文檔爲主。由於內容比較多,會分階段來介紹。 以下來自蘋果官方文檔中對Instruments描述 介紹 Instruments是一個強大而靈活的性能分析和測試工具,它是Xcode開發工

原创 輕量級分享框架源碼與擴展說明

介紹 最近花了一點時間寫了一個輕量級的分享框架ThinShareSDK,源碼放在github上。本篇主要介紹一下整體的設計以及使用者怎麼在原有的基礎上簡單的擴展。 接口說明 分享主要分兩個步驟 1. 構建模型 2. 生成分享

原创 iOS相冊實現與AssetsLibrary框架使用

概述 在iOS中如果想要獲取手機相冊裏面的圖片或者視頻的話就要用到系統自帶的AssetsLibrary框架,AssetsLibrary.framework中包含以下文件 #import <AssetsLibrary/ALAsse

原创 利用RunTime解決由NSTimer導致的內存泄漏

NSTimer使用場景 用NSTimer來實現每隔一定時間執行制定的任務,例如最常見的廣告輪播圖,使用NSTimer實現這個功能很簡單代碼如下 NSTimer *_timer; _timer = [NSTimer

原创 iOS富文本(二)初識Text Kit

概述 Text Kit 是建立在Core Text上的文本佈局系統,雖然沒有Core Text那麼強大的文本處理功能,但是對於大多數常見的文本佈局用Text Kit能夠很簡單的實現,而不是用Core Text底層的 API去實現

原创 Grand Central Dispatch(GCD)詳解

概述 GCD是蘋果異步執行任務技術,將應用程序中的線程管理的代碼在系統級中實現。開發者只需要定義想要執行的任務並追加到適當的Dispatch Queue中,GCD就能生成必要的線程並計劃執行任務。由於線程管理是作爲系統的一部分來

原创 HTTPS通信機制

概述 使用HTTP協議進行通信時,由於傳輸的是明文所以很容易遭到竊聽,就算是加密過的信息也容易在傳輸中遭受到篡改,因此需要在HTTP協議基礎上添加加密處理,認證處理等,有了這些處理機制的HTTP成爲HTTPS。 HTTPS是在應

原创 iOS繪圖系統UIKit與Core Graphics

概述 iOS主要的繪圖系統有UIKit,Core Graphics,Core Animation,Core Image,Open GL等,本片博文主要介紹UIKit與Core Graphics的繪圖系統。 關於UIKit iO

原创 Instruments-查看收集到的數據

由於Xcode調試工具Instruments指南篇幅太長,所以本篇blog繼續上篇,介紹對Instruments收集到的數據去分析。 關於數據分析 Instruments不解決你代碼中的任何問題,它幫助你更好的理解你的代碼正在做什

原创 iOS XMPP Framework 中文概述

本篇文章翻譯XMPP Framework中的Overview of the XMPP Framework部分 介紹 The framework is divided into 2 parts: 1. xmpp核心部分 2.

原创 iOS富文本(三)深入使用Text Kit

在上一篇中介紹了Text Kit的三種基本組件的關係並且簡單的實現了怎麼使用這三種基本組件,本片將深入的去使用這三種基本組件。 NSTextStorage NSTextStorage是NSMutableAttributedStri

原创 iOS9中UIStackView的使用

概述 UIStackView是iOS 9中新增的API,類似於Android中的線性佈局。UIStackView相當於一個容器,根據向UIStackView中添加視圖的順序,UIStackView會自動給這些視圖添加約束,讓這些