国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ios將Log日志重定向輸出到文件中保存

2019-11-14 19:47:30
字體:
來源:轉載
供稿:網友

      對于真機,日志沒法保存,不好分析問題。所以有必要將日志保存到應用的Docunment目錄下,并設置成共享文件,這樣才能取出分析。

       首先是日志輸出,分為c的PRintf和標準的NSLog輸出,printf會向標準輸出(sedout)打印,而NSLog則是向標準出錯(stderr),我們需要同時讓他們都將日志打印到一個文件中。

       例子:

       freopen("xx.log","a+",stdout);

       freopen("xx.log","a+",stderr);

 

具體做法:

 

       // 將NSlog打印信息保存到Document目錄下的文件中

- (void)redirectNSlogToDocumentFolder

{

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *documentDirectory = [paths objectAtIndex:0];

    NSString *fileName = [NSString stringWithFormat:@"dr.log"];// 注意不是NSData!

    NSString *logFilePath = [documentDirectory stringByAppendingPathComponent:fileName];

    // 先刪除已經存在的文件

    NSFileManager *defaultManager = [NSFileManager defaultManager];

    [defaultManager removeItemAtPath:logFilePath error:nil];

    

    // 將log輸入到文件

    freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stdout);

    freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stderr);

 

       此函數要在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

中調用,這個函數在AppDelegate.m中實現的。

 

       /*******************************************************************************/

// 當真機連接Mac調試的時候把這些注釋掉,否則log只會輸入到文件中,而不能從xcode的監視器中看到。

    // 如果是真機就保存到Document目錄下的drm.log文件中

    UIDevice *device = [UIDevice currentDevice];

    if (![[device model] isEqualToString:@"ipad Simulator"]) {

        // 開始保存日志文件

        [self redirectNSlogToDocumentFolder];

    }

/*******************************************************************************/

 

 最后配置共享文件夾:

        在應用程序的Info.plist文件中添加UIFileSharingEnabled鍵,并將鍵值設置為YES。將您希望共享的文件放在應用程序的Documents目錄。一旦設備插入到用戶計算機,iTunes 9.1就會在選中設備的Apps標簽中顯示一個File Sharing區域。此后,用戶就可以向該目錄添加文件或者將文件移動到桌面計算機中。如果應用程序支持文件共享,當文件添加到Documents目錄后,應用程序應該能夠識別并做出適當響應。例如說,應用程序可以將新文件的內容顯示界面上。請不要向用戶展現目錄的文件列表并詢問他們希望對文件執行什么操作。      

       就是說,一旦設備連接上電腦,可以通過iTune查看指定應用程序的共享文件夾,將文件拷貝到你的電腦上看。

 

參考連接:

       1.http://hi.baidu.com/ios_zb_com/item/ea528f4a8b1100d8c1a59217

       2.http://m.survivalescaperooms.com/ThankForYou/archive/2012/09/12/2681739.html


上一篇:Xcode生成ipa文件

下一篇:IOS屏幕布局

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屯昌县| 内丘县| 耿马| 连州市| 荣成市| 故城县| 汶川县| 东海县| 怀化市| 搜索| 西充县| 林甸县| 苍山县| 六安市| 建瓯市| 达尔| 大悟县| 抚顺市| 静海县| 习水县| 滨州市| 江达县| 正蓝旗| 尚志市| 浦北县| 阜阳市| 海门市| 西畴县| 金阳县| 福泉市| 汽车| 清流县| 舟曲县| 定兴县| 台东市| 象山县| 沙河市| 华亭县| 姚安县| 阳西县| 咸丰县|