我正在寻找一个日志框架,当我在我的设备上作为临时分发运行应用程序时,它可以在我的 mac 上显示日志。
我遇到过 NSLogger。
它在模拟器中运行良好,但如果我在设备上运行(从 xcode 或从网络),它就无法运行。
不工作意味着 mac Desktop Viewer 应用程序没有启动,因为它在我在模拟器上运行时启动。
如何集成 NSLogger,以便我可以将日志从设备获取到我的 MAC?
还有其他框架可以为我提供这种日志记录吗?
谢谢。
最佳答案
以下是我为使 NSLogger 正常工作而采取的步骤。对于桌面查看器:
- 下载desktop viewer binary或
- 按照桌面查看器 Xcode 说明进行操作:part one和 part two
- 运行桌面查看器
- 转到
NSLogger->Preferences->Network
- 检查
Publish Bonjour service for automatic discovery on local network
- 类型
NSLogger
在Bonjour service name
文本框 转到
NSLogger->Window->Show Logger Status
您应该会看到一个显示以下内容的状态窗口:- Bonjour(准备接受连接)
- Bonjour SSL(准备接受连接)
- TCP/IP 端口 50000(不可用)
注意:此时您将看不到桌面查看器输出窗口...该窗口仅在 NSLogger 客户端正确连接到桌面查看器时出现。
对于 iOS 客户端:
- 确保您的 iOS 设备与运行桌面查看器的计算机位于同一本地网络
- 安装应用程序
Discovery
它允许您浏览 Bonjour 网络 - 运行
Discovery
并浏览本地 Bonjour 网络,您应该看到 NSLogger 桌面查看器发布的两个条目:-
_nsloggger._tcp.
-
_nslogger-ssl._tcp.
-
- 按照这些 instructions 将 NSLogger 客户端与您的 iOS 应用程序集成
- 完成集成后,您的项目将类似于 this (我的项目名为iosTapDetectorDemo)
- 添加
#import <NSLogger/NSLogger.h>
需要的语句(对我来说,这是在进行 NSLogger 方法调用的方法文件包含的包含文件中) - 全部替换
NSLog
方法调用LoggerCompat
方法调用 将以下代码添加到您的主程序中:
LoggerSetOptions(LoggerGetDefaultLogger(), kLoggerOption_BrowseBonjour|kLoggerOption_BufferLogsUntilConnection); LoggerSetupBonjour(LoggerGetDefaultLogger(), CFSTR("_nslogger._tcp"), CFSTR("NSLogger")); LoggerStart(LoggerGetDefaultLogger());
运行您的 iOS 应用程序,记录器输出窗口应出现在桌面查看器和您的
LoggerCompat
上。方法调用应在查看器中显示文本
关于ios - NSLogger 用于临时测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16014805/