日記ios
發(fā)布時間:2017-02-08 來源: 日記大全 點擊:
日記ios篇一:教大家查看、導入導出IOS,iphone,touch上的實時日志與崩潰日志
教大家查看、導入導出IOS,iphone,touch上的實時日志與崩潰日志
這個教程僅供學有所成、對IOS系統(tǒng)研究有需求的朋友使用~~~~~ 一般的小白可能會用得比較少。
平時我都看帖不回帖,等級什么的都是浮云~
對于實時日志與崩潰日志的好處、作用,相信懂的人不用我過多解釋,不懂的人我解釋了也是對牛彈琴。
下面直說教程:
準備工具:IOS設備,同步助手2.1.5
這里說明一下:之所以選擇同步助手,而不使用其他助手,是因為我本人只在同步助手上發(fā)現(xiàn)了這個實時查看日志的功能。
其他助手沒有。所以強大之處不言而喻。需要的人自己百度搜索下載,這里不過多解釋。 PS:(同步助手舊版沒有這個功能,需更新到最新版)
首先設備連接電腦,打開同步助手-更多功能如圖:
看到實時日志與崩潰日志:
打開,會即時刷新,導入導出非常方便,不用像以前一樣,重啟設備后,找文件夾文件了。
非常非常簡單直觀,如果對大家有幫助的話,希望大家頂一個,謝謝。
日記ios篇二:原始iOS App Crash日志簡單處理分析
CSDQ20150420
原始iOS App Crash日志簡單處理分析
一、首先取得崩潰日志,方法有多種,以下常見兩種:
1.使用iTunes同步設備后,在~/Library/Logs/CrashReporter/MobileDevice文件夾找到相應的crash文件;
2.連接好目標設備,打開XCode,菜單欄,選擇Window->Devices,選擇設備然后點擊View Device Logs,選擇crash文件導出;
二.準備symbolicatecrash和.dSYM文件:
symbolicatecrash 是XCode自帶的命令行程序,XCode6版本中,其路徑為/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash。
可以將這個文件拷貝到/bin/目錄下,方便使用。使用命令:
sudo cp symbolicatecrash /bin
需要使用管理員權限;
.dSYM是Release版本編譯的中間產出,一般每個版本保留一個對應的.dSYM文件。
三、處理.crash和.dSYM文件:
symbolicatecrash 文件名.crash 文件名.dSYM >輸出文件名
此處可能遇到錯誤"DEVELOPER_DIR" is not defined at /bin/symbolicatecrash line 60.” 設置export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer/ .crash文件和.dsYM文件順序錯誤也會失敗。
四、分析處理后的日志
處理后的日志帶有Objective-C符號和代碼行數(shù),再結合異常發(fā)生處、二進制鏡像分析定位問題。
日記ios篇三:iOS開源項目之日志框架CocoaLumberjack
iOS開源項目之日志框架
CocoaLumberjack
CocoaLumberjack是Mac和iOS上一個集快捷、簡單、強大和靈活于一身的日志框架。CocoaLumberjack類似于流行 的日志框架(如log4j),但它是專為Objective-C設計的,利用了多線程、GCD(如果可用)、無鎖原子操作Objective-C運行時的 動態(tài)特性。
快速
在大多數(shù)用例中,Lumberjack比NSLog快了一個數(shù)量級。
簡單
當應用程序啟動時,只需一行加單的代碼就可配置Lumberjack。然后用DDLog語句簡單地取代NSLog語句。 并且DDLog宏與NSLog的有完全相同的格式和語法,所以超級簡單。
強大
一個日志語句可以被發(fā)送到多個logger,意味著你可以同時記錄文件和控制臺。此外,還可以創(chuàng)建自己的logger,將日志語句發(fā)送到網絡、數(shù)據(jù)庫或者分布式文件系統(tǒng)中。沒有任何限制。
靈活性
配置你自己想要的日志框架。修改每個文件的日志級別(尤其是測試時)。修改每個logger的日志級 別(詳細的控制臺,但是簡潔的日志文件)。修改每個Xcode配置的日志級別。為你的應用程序定制日志級別的數(shù)量。添加自己的精細的日志。在運行時動態(tài)修 改日志級別。 選擇如何以及何時回滾你的日志文件。將日志文件上傳至中心服務器。壓縮存檔日志文件來節(jié)省硬盤空間。
當你遇到一下情況是,你可以選擇Lumberjack框架:
1.你想找到一種方式來跟蹤在程序中不斷出現(xiàn)的不可復制的bug;
2.你對iPhone上的簡短日志感到很失望;
3.出于支持系統(tǒng)和穩(wěn)定性的需要,你想將應用程序升級到下一級別;
4.為你的應用程序(Mac或者iPhone)尋找企業(yè)級的日志解決方案。
如何開始使用Lumberjack框架
開始
三步開始使用CocoaLumberjack框架:
1.將Lumberjack文件添加到你的項目中;
2.配置框架;
3.將NSLog指令轉換為使用Lumberjack宏指令;
把Lumberjack框架添加到你的項目
需要添加的主要文件有四個:
1.@DDLog(整個框架的基礎)
2.@DDASLLogger(發(fā)送日志語句到蘋果的日志系統(tǒng),以便它們顯示在Console.app上)
3.@DDTTYLoyger(發(fā)送日志語句到Xcode控制臺,如果可用)
4.@DDFIleLoger(把日志語句發(fā)送至文件)
DDLog是強制性的,其余的都是可選的,這取決于你打算如何使用這個框架。例如,如果你不打算紀錄到一個文件,你可以跳過DDFileLogger,或者你想跳過ASL以便更快的文件記錄,你可以跳過DDASLLoger。
配置框架
首先,你想要在你的應用程序中配置這個日志框架,通常在
applicationDidFinishLaunching方法中配置。
開始時,你需要下面兩行代碼:
1. [DDLog addLogger:[DDASLLogger sharedInstance]];
2. [DDLog addLogger:[DDTTYLogger sharedInstance]];
這將在你的日志框架中添加兩個“l(fā)ogger”。也就是說你的日志語句將被發(fā)送到Console.app和Xcode控制 臺(就像標準的NSLog)
這個框架的好處之一就是它的靈活性,如果你還想要你的日志語句寫入到一個文件中,你可以添加和配置一個file logger:
1. fileLogger = [[DDFileLogger alloc] init];
2. fileLogger.rollingFrequency = 60 * 60 * 24; // 24 hour rolling 3. fileLogger.logFileManager.maximumNumberOfLogFiles = 7;
4.
5. [DDLog addLogger:fileLogger];
上面的代碼告訴應用程序要在系統(tǒng)上保持一周的日志文件。
用DDLog替換NSLog語句
DDLog的頭文件定義了你用來替換NSLog語句的宏,本質上看起來向下邊這樣:
1. // Convert from this:
2. NSLog(@"Broken sprocket detected!");
3. NSLog(@"User selected file:%@ withSize:%u", filePath, fileSize); 4.
5. // To this:
6. DDLogError(@"Broken sprocket detected!");
7. DDLogVerbose(@"User selected file:%@ withSize:%u", filePath, fileSize
); 我們看到DDLog宏和NSLog的語法完全相同。
所以你所要做的就是決定每個NSlog語句屬于哪種日志級別。DDLog默認有四種級別的日志,分別是:
1.@DDlogError
2.@DDlogWarn
3.@DDlogInfo
4.@DDlogVerbose
(注意:你也可以自定義級別以及級別名或者添加更精細的控制來代替系統(tǒng)四個簡單的等級。)
當然選擇哪個NSLog語句取決于你的消息的嚴重程度。
下面的這些不同的日志等級也許正有你所需要的: 網址:edu.51CTO.com1.如果你將日志級別設置為 LOG_LEVEL_ERROR,那么你只會看到DDlogError語句。
2.如果你將日志級別設置為LOG_LEVEL_WARN,那么你只會看到DDLogError和DDLogWarn語句。
3.如果您將日志級別設置為 LOG_LEVEL_INFO,那么你會看到error、Warn和Info語句。
4.如果您將日志級別設置為LOG_LEVEL_VERBOSE,那么你會看到所有DDLog語句。
5.如果您將日志級別設置為 LOG_LEVEL_OFF,你將不會看到任何DDLog語句。
那么我在哪里設置日志級別呢,在整個項目中我只能使用一個日志級別嗎?
當然不是,我們都知道正如調試或者添加新特性,如果你想詳細紀錄目前正在做的那部分,Lumberjack框 架提供了對每個文件的調試控制,你僅可以修改編輯中的文件的日志級別。
(注釋:當然還有許多其他高級選項,比如全球日志級別,Xcode的每個配置級別,每個logger級別等,我們將在另一篇文章中講到)。
以下是如何轉換你的日志語句:
1. // CONVERT FROM THIS
2.
3. #import "Sprocket.h"
4.
5. @implementation Sprocket
6.
7. - (void)someMethod
8. {
9. NSLog(@"Meet George Jetson");
10. }
11.
12. @end
13.
14. // TO THIS
15.
16. #import "Sprocket.h"
17. #import "DDLog.h"
18.
19. static const int ddLogLevel = LOG_LEVEL_VERBOSE;
20.
21. @implementation Sprocket
22.
23. - (void)someMethod
24. {
25. DDLogVe
rbose(@"Meet George Jetson");26. }
27.
28. @end 網址:edu.51CTO.com注意日志級別聲明為常量,這意味著這意味著日志級別閾值以上的DDLog語句都將編譯到你的項目中。
自動引用計數(shù)(ARC)
最新版本的Lumberjack使用ARC。如果你的項目沒有使用ARC,你可以在ARC頁面學習如何在Xcode中像ARC一樣正確地標記Lumberjack文件。
熱點文章閱讀