Time of Update: 2018-12-06
判斷運行在那種裝置上:UI_USER_INTERFACE_IDIOM()UI_USER_INTERFACE_IDIOM() ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] ? [[UIDevice currentDevice] userInterfaceIdiom] :
Time of Update: 2018-12-06
<)makefile中的變數類似c語言中的宏,聲明如下:objects=test1.o test2.o test3.0 test4.o之後就可以用$(objects)來引用這個變數<)偽目標檔案.PHONY:cleanchean: rm test.PHONY標籤,表示clean是一個偽目標,必須顯示的指定在命令中才能執行,比如執行:make
Time of Update: 2018-12-06
一、載入xib檔案用例:在類TestOjbect中載入test.xib檔案[[NSBundle mainBundle]
Time of Update: 2018-12-06
一、自動化變數把模式所以定義的一系列檔案自動逐個取出,直到所有的模式檔案都取完1.$@目標的集合,就像數組,表示依次取出目標,並執行命令 2.$<如果依賴目標是以模式“%”定義的,“$<”表示符合這模式的檔案集。表示依次取出依賴檔案 3.$?所有比目標新的依賴檔案集合 4.$^所以依賴集合,以空格分隔。如果中間有重複檔案,去除重複,保留部分 5.$+和$^類似,所有依賴集合,不去重 6.$%僅當目標是庫檔案時,表示庫檔案中的成員名。例如“test.a(content.o)”,那麼“$
Time of Update: 2018-12-06
json流解析配置器1.定義了一個枚舉配置器類型:1 typedef enum {2 SBJsonStreamParserAdapterNone,3 SBJsonStreamParserAdapterArray,4 SBJsonStreamParserAdapterObject,5 } SBJsonStreamParserAdapterType;2.定義了一個json流解析配置器代理協議: 1 /** 2 @json流解析配置器代理協議 3
Time of Update: 2018-12-06
在真機,或真機沒串連到電腦時,可以把日誌資訊輸出到檔案1.設定記錄檔路徑 1 - (NSString*)logFilePath { 2 //非越獄版路徑 3 #ifndef CRACK 4 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 5 NSString *documentsDirectory = [paths
Time of Update: 2018-12-06
LLVM 是 Low Level Virtual Machine (底層虛擬機器)的簡稱,這個庫提供了與編譯器相關的支援,能夠進行程式語言的編譯期最佳化、連結最佳化、線上編譯最佳化、代碼產生。可以作為多種語言編譯器的後台來使用。Clang一個 C、C++ 和 Objective-C、Objective-C++ 的編譯器前端。它採用了底層虛擬機器(LLVM)作為其後端。它的目標是提供一個GNU編譯器套裝(GCC)的替代品,超越
Time of Update: 2018-12-06
json流編寫器允許傳入一個訊息流程對象,把它寫入到SBJsonStreamWriterAccumulator的data裡.1.裡面含有個新的NSObject類別,把objc對象轉成json允許的物件類型 1 @interface NSObject (SBProxyForJson) 2 3 /** 4 json只支援NSArray和NSDictionary等類型 5 所以轉換之前先把特定objc對象轉成這兩種類型的形式 6 如果你有一個自訂類,要把它轉成json,需要實現該方法 7
Time of Update: 2018-12-06
在XCode,4以上版本中,設定NSZombieEnabled和MallocStackLogging1.點擊XCode的Product菜單,選擇Edit Scheme...選項2.選擇左側的Run...,右邊點擊Arguments3.在Environment
Time of Update: 2018-12-06
上面主要講了刷機,接下來是越獄(本文適合於上文提到幾個前提都符合的情況下,其他未來版本可能不適用,參者斟酌)一、準備1.把iphone串連到mac電腦,然後關機2.按住開機鍵3秒,跳出白蘋果後鬆開二、越獄1.開啟紅雪,點擊jailbreak按鈕2.點擊next,後進入上一隨筆中提到“DFU三步”3.一連串進度條後,進入以下介面剛剛升級到iOS
Time of Update: 2018-12-06
1.開發平台路徑:/Developer/Platforms此路徑下一般有三個目錄,分別是mac電腦、模擬器、iphone真機MacOSX.platform
Time of Update: 2018-12-06
1.查看xcode的版本號碼和build版本$ xcodebuild -version顯示內容:Xcode 4.2Build version 4D199 2.顯示當前系統的sdk、及其版本$ xcodebuild -showsdks顯示內容:Mac OS X SDKs: Mac OS X 10.6 -sdk macosx10.6 Mac OS X 10.7 -sdk macosx10.7iOS SDKs:
Time of Update: 2018-12-06
json流編寫疊加器,擁有個可變data對象1 @interface SBJsonStreamWriterAccumulator : NSObject <SBJsonStreamWriterDelegate>2 3 @property (readonly, copy) NSMutableData* data;4 5 @end具體實現: 1 @implementation SBJsonStreamWriterAccumulator 2 3 @synthesize data; 4 5
Time of Update: 2018-12-06
SBJsonWriter:json編寫器類內部使用了json流編寫器:SBJsonStreamWriter類,和json流編寫累加器:SBJsonStreamWriterAccumulator類主要有4個屬性: 1 /** 2 @最大遞迴深度,預設為32 3 如果嵌套的太深,大於32被視為惡意解析,返回nil,並發送一個錯誤訊號 4 可以通過設定maxDepth為0,來取消此安全功能 5 */ 6 @property NSUInteger maxDepth; 7 8 /** 9
Time of Update: 2018-12-06
在模擬器上調試時,經常遇到記憶體訪問錯誤,如下:2012-02-14 11:21:11.41 App[2433:205] *** -[Test retain]: message sent to deallocated instance 0x11e4fb1.在設定了MallocStackLogging之後(可查看設定NSZombieEnabled和MallocStackLogging)就可以在終端上輸入 info malloc-history 命令,如下所示:(gdb) info
Time of Update: 2018-12-06
先在自訂的ViewController裡聲明定義一個UIImageView1 @property (nonatomic,retain) UIImageView *imgView;1 @synthesize imgView;在viewDidLoad函數裡添加圖片,並執行組合動畫 1 //添加圖片 2 imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Icon@2x.png"]]; 3
Time of Update: 2018-12-06
在不設定密碼的公用wifi網路或3G環境,沒更改初始密碼的很容易被破壞入侵,而竊取你的手機裡的資料解決:下載OpenSSH,通過mac電腦上命令列終端遠程登陸iphone,修改密碼,並進行日常管理(不要去下什麼MobileTerminal,現在網上好像還沒有適合5.0.1版本的手機命令終端,其實用mac上的ssh命令更方便)1.點擊cydia,點擊首頁的一項 openssh access how-to,點擊第一條OpenSSH藍色字,進行安裝。(或直接在cydia搜尋裡搜openssh下載安裝,
Time of Update: 2018-12-06
晚上各種鬱悶,公司測試機白蘋果了,(連上電腦也沒有反映),機器是已越獄的,本來想ssh遠程登陸的,iphone上的終端老實閃退,心一狠卸了裝新的,沒想收回一桌的杯具原來就打算親自試試越獄的滋味,真是趕上了,只好先重新刷機了,真是蛋疼。到底還是在第二天平刷回了iso5.0.1,並成功越獄,其間是網上各種誤導和n多方法失敗,走了不少彎路,耗時耗耐力。以下是具體步驟和細節:一、前提在所有以下操作中,有幾個很重要的前提,直接影響到刷機和越獄是否成功,要拿去參考的人得注意是否符合,不符合的不要嘗試,以免誤
Time of Update: 2018-12-06
一、概念1.makefilemakefile定義了一些規則,來表明檔案的相互依賴性,並運行命令,達到--自動化編譯比如指定哪些檔案先編譯,哪些檔案後編譯,及哪些檔案需要重新編譯2.make命令工具,用來解釋makefile中的規則和指令make命令執行,需要一個makefile檔案,來告訴make命令需要如何編譯和連結程式規則:1)如果工程沒有編譯過,則編譯所有.m檔案並連結2)如果工程中某幾個.m檔案被修改,只編譯修改的.m檔案,並連結3)如果標頭檔被修改,則引入這幾個標頭檔的.m檔案都需要重
Time of Update: 2018-12-06
json解析器 1 /** 2 json轉objc 3 解析json字串和NSData對象 4 內部使用了SBJsonStreamParser類 5 */ 6 7 @interface SBJsonParser : NSObject 8 9 /**10 @最大遞迴深度,預設為3211 如果嵌套的太深,大於32被視為惡意解析,返回nil,並發送一個錯誤訊號12 可以通過設定maxDepth為0,來取消此安全功能13 */14 @property NSUInteger