使用Xcode 在模擬器運(yùn)行的時(shí)候腌闯,可以直接通過(guò)xcode 查看log,但是真機(jī)測(cè)試的時(shí)候,xcode 卻無(wú)法獲取到雕憔,對(duì)于日志輸出姿骏,可以先保存到真機(jī)上,之后通過(guò)iTunes導(dǎo)出即可修改源碼
此函數(shù)要在
-? ? (BOOL)application:(UIApplication *)application? ? didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
中調(diào)用斤彼,這個(gè)函數(shù)在AppDelegate.m中實(shí)現(xiàn)的分瘦。
// 將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];
// 先刪除已經(jīng)存在的文件
NSFileManager *defaultManager =? ? [NSFileManager defaultManager];
[defaultManager? ? removeItemAtPath:logFilePath error:nil];
// 將log輸入到文件
freopen([logFilePath ?cStringUsingEncoding:NSASCIIStringEncoding],"a+", stdout);
freopen([logFilePath ? cStringUsingEncoding:NSASCIIStringEncoding],"a+", stderr);
}
/*******************************************************************************/
// 當(dāng)真機(jī)連接Mac調(diào)試的時(shí)候把這些注釋掉,否則log只會(huì)輸入到文件中琉苇,而不能從xcode的監(jiān)視器中看到嘲玫。
// 如果是真機(jī)就保存到Document目錄下的drm.log文件中
UIDevice *device = [UIDevice? ? currentDevice];
if(![[device model] isEqualToString:@"iPad Simulator"]) {
// 開始保存日志文件
[self? ? redirectNSlogToDocumentFolder];
}
/*******************************************************************************/
修改AppDelegate.m
,添加如上并扇,這樣設(shè)置log的輸出位置去团,或在xcode的監(jiān)視器,或者在真機(jī)上的文件中
修改配置文件
修改項(xiàng)目下的Info.plist ,
添加UIFileSharingEnabled鍵穷蛹,并將鍵值設(shè)置為YES,添加之后,
添加之后會(huì)變成 Application supports
iTunes file sharing YES
連接真機(jī)設(shè)備土陪,連接iTunes,導(dǎo)出log 即可
連接真機(jī)設(shè)備之后肴熏,從應(yīng)用程序里面找到dr.log 然后導(dǎo)出就可以了
可以參考:
http://www.cnblogs.com/ThankForYou/archive/2012/09/12/2681739.html