最新在寫推送時(shí),點(diǎn)擊獲取推送傳遞的擴(kuò)展字段栖榨,在程序激活狀態(tài)下昆汹,可以通過xcode控制臺(tái)查看NSLog信息,但是在程序退出狀態(tài)下婴栽,想獲取推送通知傳遞的字段满粗,這時(shí)就是頭疼的問題。
【1】真機(jī)調(diào)試
在程序殺死時(shí)愚争,失去xcode鏈接映皆,沒有辦法獲取打印信息,這時(shí)可以在 AppDelegate
中 的聲明如下方法轰枝,用來(lái)把NSLog
的信息打印到手機(jī)磁盤文件中
- (void)redirectNSlogToDocumentFolder
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];
NSString *fileName = [NSString stringWithFormat:@"dr.txt"];// 注意不是NSData!
NSString *logFilePath = [documentDirectory stringByAppendingPathComponent:fileName];
// 先刪除已經(jīng)存在的文件
NSFileManager *defaultManager = [NSFileManager defaultManager];
[defaultManager removeItemAtPath:logFilePath error:nil];
// 將log輸入到文件
freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stdout);
freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stderr);
}
在didFinishLaunchingWithOptions
方法中調(diào)用上面方法捅彻,同時(shí)在Info.plist文件中添加一行UIFileSharingEnabled
設(shè)置為YES
,允許app同坐iTunes鏈接時(shí),設(shè)置改app問共享性鞍陨,這時(shí)就能獲取到該app所在磁盤文件夾的文件步淹,點(diǎn)擊存儲(chǔ),到Mac桌面雙擊即可查看(示例中保存的txt格式文件)诚撵,這時(shí)就能查看缭裆,程序的NSLog
信息和xcode控制臺(tái)打印的一樣。
【2】模擬器調(diào)試
方法如果真機(jī)調(diào)試一樣寿烟,聲明方法澈驼,然后調(diào)用,在鏈接xcode時(shí)打印paths
路徑筛武,復(fù)制缝其,然后在Mac中右鍵Finder->前往文件夾购桑,粘貼路徑,這時(shí)就可以找到日志文件氏淑。