使用 XCode 开发 iOS 应用程序时,可以使用 NSLog 调用将信息写入控制台以进行调试。在 Xamarin.iOS 中,可以使用 Console.WriteLine 完成相同的操作。
当运行应用程序的发布版本时,如果没有附加调试器,这些调用没有任何作用。所以我想到用预处理器指令排除它们:
#if DEBUG
Console.WriteLine("foo");
#endif
因此,这些调用甚至不存在于发布版本中。我很欣赏这可能是微观优化 - 但我很好奇 Xamairn 是否已经这样做了,从而使这变得不必要?
Console
iOS 发布版本中不会删除输出。
仅供参考:Xcode 不会“自动”删除NSLog
or print
来自 Obj-C/Swift“发布”代码。 (如果需要的话,您通常会定义一个全局预处理器宏来将它们全部删除......)
您的选择有很多...包括:
由于应用了 [Conditional("DEBUG")] 属性,任何对 Debug.* 的调用都将被编译器删除。
参考: Xamarin 的NSLogWriter https://github.com/xamarin/xamarin-macios/blob/2edb2ae4f5bb371a7006731987717c01f8725420/src/Foundation/NSLogWriter.cs助手类
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)