【问题标题】:When I call objective-c functions from Swift, NSLog in those functions do nothing当我从 Swift 调用 Objective-c 函数时,这些函数中的 NSLog 什么都不做
【发布时间】:2019-02-08 11:13:55
【问题描述】:

我有一个混合的 Swift 和 Objective-C 项目(一个视图控制器在 Objective C 中)。当我尝试从该视图控制器(即使用 NSLog 在 .m 文件中)打印一些调试输出时,我看不到任何输出。

我的快速打印效果很好。

我做了一个新的objective-c项目并做了一些NSLogging,效果很好。

我将此代码添加到我的 appdelegate (swift) 中,只是为了立即测试: NSLog("测试 1 2 3") print("这东西开了吗?") 而且我也没有看到 NSLog 输出,但我确实看到了 print 语句的输出。

这是什么鬼?

【问题讨论】:

标签: ios objective-c swift


【解决方案1】:

似乎属性 "OS_ACTIVITY_MODE": "disable" 阻止 NSlog 出现在 Xcode 9 日志中。

在我的方案中取消选中此值恢复了我的日志。

检查此堆栈溢出帖子 - iOS 10 doesn't print NSLogs

【讨论】:

  • 很好,所以现在到处都是 - 2018-09-03 20:07:00.021377-0700 DriveAppIOS[3235:1533866] 状态栏找不到缓存的时间字符串图像。正在渲染。我的解决方案是只使用 printf。
【解决方案2】:

teja_D 提出的解决方案可行,但是日志中有很多垃圾。 我自己,我只是打算使用 printf。要么这样,要么越过 obj-c / swift 屏障并为我制作一个 swift 对象调用“打印”。

这种事情真的让我摇头。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    相关资源
    最近更新 更多