開源框架 iConsole

2021-06-27 19:35:50 字數 4041 閱讀 6404

**:

引言:

官方的簡介加少許語義上的修改:

iconsole

如何開始使用?

將這兩個資料夾拖動要使用的工程中,此時無需任何其他依賴項的設定.

如何編寫**?

裡初始的uiwindow需要以iconsolewindow來初始化.

如果專案中沒有使用storyboard來初始化工程,則進行如下修改即可:

[csharp]view plain

copy

- (void  

如果是通過storyboard來初始化工程的話需要進入如下修改:

1:第一步將工程設定裡的main storyboard清空

裡面新增如下**:

[csharp]view plain

copy

//啟動iconsonle

self.window = [[iconsolewindow alloc] initwithframe:[[uiscreen mainscreen] bounds]];  

self.window.rootviewcontroller = [[uistoryboard storyboardwithname:mainstoryboardname bundle:nil] instantiateinitialviewcontroller];  

//other load code

[self.window makekeyandvisible];  

至於其它**請寫在

other load code

的位置, 不然會

crash

.原理是

uiwindow

. 到此,iconsole的部署及初始化工作已經完成,iconsole資訊. 接下來介紹其強大的功能及細節.

iconsole提供了4種記錄日程的方式,分別是:

1:資訊

2:警告

3:錯誤

4:崩潰

脫離xcode偵錯程式時,輔助開發者通過日誌理解錯誤的具體位置.

**如下:

[csharp]view plain

copy

[iconsole info:@

"記錄一條普通級"

];  

[iconsole warn:@"記錄一條警告級"

];  

[iconsole error:@"記錄一條錯誤級"

];  

[iconsole crash:@"記錄一條崩潰級"

];  

iconsole預設記錄的日誌條數是1000條. 如果日誌記錄到上限時,會刪除最早的一條,如此迴圈,可通過如下屬性設定上下限:

[csharp]view plain

copy

[[iconsole sharedconsole] setmaxlogitems:2000];  

當我們需要檢視iconsole的控制台時,可以通過三種方式來啟動控制台:

1:主動呼叫

[csharp]view plain

copy

[iconsole show];  

2:三跟手指由下往上滑動. 模擬器兩根手指,  預設啟動

[csharp]view plain

copy

[iconsole sharedconsole].simulatortouchestoshow = yes;  

[iconsole sharedconsole].devicetouchestoshow = yes;  

3:搖動手機啟動  預設禁用

[csharp]view plain

copy

[iconsole sharedconsole].deviceshaketoshow = yes;  

成功進入控制台以後,可以看到有乙個輸入區域,等待使用者輸入命令,如下圖所示:

此時需要實現iconsole唯一的乙個**,用來捕捉命令列的值:

1:**賦值

[csharp]view plain

copy

[iconsole sharedconsole].

delegate

= self;  

2:實現介面方法

[csharp]view plain

copy

- (void

)handleconsolecommand:(nsstring *)command  

else

}  這個**到底有什麼用?

這裡的權利完全交給了開發者,通過自定義一些命令來輸出一些有利於除錯的日誌資訊.

比如version的程式版本

更改的輔助命令由開發者根據個性化需求自由定製

另外iconsole的控制台也可以進行少許的樣式修改:

[csharp]view plain

copy

//branding and feedback

@property (nonatomic, copy) nsstring *infostring;//控制台簡短介紹

@property (nonatomic, copy) nsstring *inputplaceholderstring;//命令列空值提示

@property (nonatomic, copy) nsstring *logsubmissionemail;//日誌所傳送的郵件位址

//styling

@property (nonatomic, strong) uicolor *backgroundcolor;//背景顏色

@property (nonatomic, strong) uicolor *textcolor;//文字顏色

@property (nonatomic, assign) uiscrollviewindicatorstyle indicatorstyle;//這個呢?

額外的說明:

模擬乙個crash用於嘗試使用iconsole的功能,**如下:

[csharp]view plain

copy

[[n***ception exceptionwithname:@

"什麼型別的崩潰異常?"

reason:@

"對崩潰進行些說明?"

userinfo:nil] raise];  

總結:

iconsole在於對xcode控制台脫離時依舊能保持除錯的能力,方面輔助開發者捕捉致命的bug. 建議閱讀本文所有的開發者都是用.

iphone 開源框架

掃瞄wifi資訊 條形碼掃瞄 tcp ip的通訊協議 voip sip three20 google gdata 720全景顯示panoramagl jabber client plblocks image processing json編碼解碼 base64編碼解碼 xml解析 安全儲存使用者密碼...

開源框架彙總

開源框架彙總 裡面含有有很多開源框架 github 優秀的 android 開源專案 上排名前 100 的 android 開源庫介紹 強烈推薦android studio用的幾個外掛程式 listview框架 漸變隱藏頭部的xlistview 好用 類似google官方 類似google官方好用 ...

android開源框架

專案位址 2 網路請求的排序 scheduling 3 網路請求的優先順序處理 4 快取 5 多級別取消請求 文件介紹 主要有四大模組 finalbitmap可以配置執行緒載入執行緒數量,快取大小,快取路徑,載入顯示動畫等。finalbitmap的記憶體管理使用lru演算法,沒有使用弱引用 andr...