2012-02-17 20 views
11

Có cách nào tôi có thể xem nhật ký bảng điều khiển của ứng dụng đang chạy trong trình mô phỏng iOS khi tôi không chạy mã qua Xcode không? Tôi đang trực tiếp mở ứng dụng từ bên trong trình mô phỏng. Tôi có thể xem báo cáo NSLog in ở đâu đó không?Thấy NSLog cho một ứng dụng chạy trực tiếp trong trình mô phỏng, không phải qua Xcode

+0

Khởi chạy Trình tổ chức của Xcode. – 0xDE4E15B

+0

Công cụ tổ chức cho thiết bị và không hoạt động cho trình mô phỏng. – Abhinav

Trả lời

1

Tôi có thể quản lý để xem nhật ký trong ứng dụng "Bảng điều khiển" trong MAC OS.

5

Có. Dưới đây là một trích dẫn từ Tools Workflow Guide for iOS:

Khi chạy ứng dụng của bạn trong một mô phỏng, bạn có thể truy cập vào giao diện điều khiển bản ghi của ứng dụng trong các ứng dụng Console (nằm ở /Applications/Utilities).

3

From BYU CocoaHeads:

chuyển hướng NSLog()

Thỉnh thoảng, bạn có thể muốn chuyển hướng đầu ra NSLog() của bạn vào một tập tin để bạn có thể kiểm tra nó thuận tiện hơn. NSLog() hoạt động bằng cách xuất thông điệp tới STDERR, vì vậy tất cả những gì bạn cần làm là chuyển hướng luồng STDERR đến một tệp và bạn nên thực hiện. Mã sau sẽ chuyển hướng tệp đến một tệp trên máy tính để bàn của bạn:

int fd = creat("/Users/dave/Desktop/my_log", 
         S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); 
    close(STDERR_FILENO); 
    dup(fd); 
    close(fd); 
    NSLog(@"this will be written to my_log"); 

Điều này sẽ chỉ ảnh hưởng đến các cuộc gọi từ NSLog() từ ứng dụng của bạn.

+1

Uhh, bất cứ ai đã viết bài viết đó cần phải làm việc trên kiến ​​thức của họ về POSIX; họ đang thụ động dựa vào khái niệm rằng fd mở tiếp theo sẽ là 2; điều này không được đảm bảo để hoạt động và thực sự sẽ làm điều sai nếu một chuỗi khác mở một tệp cùng một lúc. Lệnh 'close' đầu tiên và' dup' sẽ được thay thế bằng 'dup2 (fd, STDERR_FILENO)'. – asveikau

Các vấn đề liên quan