码迷,mamicode.com
首页 > 移动开发 > 详细

IOS 把shell信息或者NSlog输出信息 显示在视图

时间:2015-01-04 14:48:45      阅读:304      评论:0      收藏:0      [点我收藏+]

标签:

//标准输出

[self redirectSTD:STDOUT_FILENO];

//错误输出

  //[self redirectSTD:STDERR_FILENO];

 

- (void)redirectNotificationHandle:(NSNotification *)nf{

    NSData *data = [[nf userInfo] objectForKey:NSFileHandleNotificationDataItem];

    NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

    if (![str isEqualToString:@""]) {

        textView.text = [NSString stringWithFormat:@"%@\n%@",textView.text, str];

        NSRange range;

        range.location = [textView.text length] - 1;

        range.length = 0;

        [textView scrollRangeToVisible:range];

    }

    [[nf object] readInBackgroundAndNotify];

}

 

- (void)redirectSTD:(int )fd{

    NSPipe * pipe = [NSPipe pipe] ;

    NSFileHandle *pipeReadHandle = [pipe fileHandleForReading] ;

    dup2([[pipe fileHandleForWriting] fileDescriptor], fd) ;

    

    [[NSNotificationCenter defaultCenter] addObserver:self

                                             selector:@selector(redirectNotificationHandle:)

                                                 name:NSFileHandleReadCompletionNotification

                                               object:pipeReadHandle] ;

    [pipeReadHandle readInBackgroundAndNotify];

}

 

IOS 把shell信息或者NSlog输出信息 显示在视图

标签:

原文地址:http://www.cnblogs.com/yangli-ios/p/4200904.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!