原创 [翻譯]Obejective-C的類加載與初始化

作爲一個iOS程序員,你一般情況下並不需要關心類是如何加載到內存裏的。這是一個複雜的過程,由運行時處理的,並早於你的代碼運行。 對於大部分的類,你只需要知道如何使用即可,但是有些時候,你要做一些特殊的處理,比如一個某

原创 app無法上傳,Failed to locate or generate matching signing assets,Missing or invalid signature 處理

今年過年回來,上傳一個APP到store,卻怎麼也不行,報錯如下: 看到這裏,覺得是不是證書不匹配,導致的問題,那打開鑰匙串,找到證書,發現: 按照一貫的解題思路,找baidu,谷歌,stackflow,終於找到原因: h

原创 iOS APP可執行文件的組成

iOS APP編譯後,除了一些資源文件,剩下的就是一個可執行文件,有時候項目大了,引入的庫多了,可執行文件很大,想知道這個可執行文件的構成是怎樣,裏面的內容都是些什麼,哪些庫佔用空間較高,可以用以下方法勘察: 1.XCode開啓編譯選

原创 iBeacon開發基礎

(遷移自我的qq日誌:http://user.qzone.qq.com/511107989/blog/1401877946) 端午放假的時候,張老師@張誠 跟我說起一個詞,iBeacon,說來慚愧,雖然一直做藍牙相關的APP,但在此之前是

原创 iOS ble關鍵開發步驟

(很久前寫在QQ空間裏,也許這個plist設置已經換了) 要想APP在後臺長時間運行,可以用藍牙模式 在info.plist中添加“Required background modes”屬性,並在該屬性下添加兩個item,“Ap

原创 iOS下的__block與__weak

先看下結論: 所有對象在編譯之後,都會轉換成一個結構體,包括block,和被__block修飾的任意變量,形成一個拷貝(你可以用clang 將oc轉c即可驗證)。被__block修飾的變量,轉換後的結構體裏包含一個_for

原创 iOS開發:Apply Pay商家接入指南-基礎介紹

公司向接入下Apple Pay,我們先看一下,主要的交互流程圖: •整體來說ApplePay流程與微信、支付寶支付流程類似,以下用e萬家App爲例: 使用SDK情況下,我們可以只關注訂單生成及訂單支付結果信息,對中間的支付

原创 iOS 類簇及越界處理

 估計做iOS開發的朋友都遇到多一個問題,就是數組越界, -[__NSArray0 objectAtIndex:]: index 1 beyond bounds for empty NSArray' -[__NSArrayI objec

原创 CGImageSource的用法

導入ImageIO.framework #import <ImageIO/ImageIO.h>  1.創建CGImageSourceRef 1 2 NSString *imagePath = [[NSBundle bu

原创 CoreText實現氣泡圖文混排

CoreText實現圖文混排的原理大概是:通過attributedString拼接,設置string的各段(不是段落,是每個被拼接的子串)的屬性,其中圖片部分可以用“ ”來拼接,並設置代理回調,這個代理回調就會諮詢圖片的寬高,然後CT就會

原创 iOS的property相關修飾符

你如果參加過面試,80%的可能性會被問到過,@property的修飾符有哪些,區別又是什麼; 既然想深入的瞭解我們就要知道它的來龍去脈,首先,我們的得知道什麼是property。 Property OC中稱爲屬性,採用此屬性,編譯

原创 iOS BLE開發關鍵步驟

要想APP在後臺長時間運行,可以用藍牙模式 在info.plist中添加“Required background modes”屬性,並在該屬性下添加兩個item,“App communicates using CoreBluetoo

原创 iOS無限滾動,實現ios原生日曆

之前寫的一些東西都是自己放在QQ日誌裏,只是爲了防止自己忘記,現在還是慢慢轉移到CSDN來的方便,請大家多指教。   拿到一個UI界面,第一步就是對其進行分解,對於一個日曆這個界面,我們可以想到的應該是: 1、這個是一個滾動視圖;2

原创 Objective-C Class 、 MetaClass、實例 詳解

如果用過運行時做過一些實現,對下面的代碼你應該不會陌生: Class newClass = objc_allocateClassPair([NSError class], "RuntimeErrorSubclass", 0);//1 cl

原创 JS原型與原型鏈終極詳解

JS原型與原型鏈終極詳解   在上面的例子中 o1 o2 o3 爲普通對象,f1 f2 f3 爲函數對象。怎麼區分,其實很簡單,凡是通過 new Function() 創建的對象都是函數對象,其他的都是普通對象。f1,f2,歸根結底都是