如何使用手机获取并导出 Log?

在不连接 Xcode 的情况下,使用手机获取并导出 Log,以便分析定位问题。
发布时间: 2016-04-15 10:00

回答:

1、在 Appdelegate.m 中添加下面代码

- (BOOL)application:(UIApplication *)application

    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {


  //重定向 log 到本地问题

  //在 info.plist 中打开 Application supports iTunes file sharing

      if (![[[UIDevice currentDevice] model] isEqualToString:@"iPhone Simulator"]) {

          [self redirectNSlogToDocumentFolder];

      }


    //设置Log级别,开发阶段打印详细log

    [RCIMClient sharedRCIMClient].logLevel = RC_Log_Level_Info;

}


- (void)redirectNSlogToDocumentFolder {

  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,

                                                       NSUserDomainMask, YES);

  NSString *documentDirectory = [paths objectAtIndex:0];


  NSDate *currentDate = [NSDate date];

  NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init];

  [dateformatter setDateFormat:@"MMddHHmmss"];

  NSString *formattedDate = [dateformatter stringFromDate:currentDate];


  NSString *fileName = [NSString stringWithFormat:@"rc%@.log", formattedDate];

  NSString *logFilePath =

      [documentDirectory stringByAppendingPathComponent:fileName];


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

          stdout);

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

          stderr);

}


2、在 Supporting Files 中的 info.plist 中打开 Application supports iTunes file sharing

1482490188452425.png

3、把应用打包安装到手机中,然后执行融云 IM 功能的操作,例如连接融云,收发消息等等。


4、将手机断开 iTunes 连接后再重新连接 iTunes(必要步骤),打开应用,找到应用,在右边的“应用名称”的文稿中找到以“rc”开头的 log 文件。

1482490189703023.png

5、滚动到最下面,点击“存储到...”按钮将 Log 存储到桌面,双击打开就能看到 Log 信息了。

6、如果工程没有用到文件分享功能,在上线的时候,请将第2步操作撤回,以防苹果审核被拒




我对此仍有疑问!继续追问