【问题标题】:Print to console from application extension从应用程序扩展打印到控制台
【发布时间】:2014-06-29 21:30:29
【问题描述】:

我一直在使用 iOS 8 中新的自定义键盘应用程序扩展 API,并使用 Swift 作为我选择的语言。然而,我注意到的一件事是println 似乎从来没有将任何输出打印到控制台,大概是因为这些语句是在应用程序扩展而不是包含应用程序中执行的。有没有人找到从应用程序扩展中将语句打印到控制台的方法?

【问题讨论】:

  • 不确定是否来自扩展,但您始终可以尝试良好的老式 NSLog 或在 Xcode 中创建日志记录断点。
  • 我在这里也遇到了麻烦,即使使用 NSLog。我可以使用模拟器上的调试器单步执行我的扩展,但控制台上不会显示任何 NSLog 消息。我也尝试过运行扩展,然后将调试器连接到扩展进程,但控制台上仍然没有。

标签: ios console swift ios8 ios-app-extension


【解决方案1】:

您最可靠的选择是使用NSLog 进行调试,但println 在这种情况下实际上可能有效。您只需要将 Xcode 调试器附加到扩展本身。

根据我的经验,这是一个相当有问题的过程。 This answer 有更多关于这个主题的信息。简而言之,您需要将“运行”下拉菜单中的目标更改为您的扩展程序,然后单击“运行”后,您应该会得到一个可以运行它的内容列表in

【讨论】:

    【解决方案2】:

    从 iOS 10 开始,默认情况下扩展程序不会登录到控制台。为您的扩展启用控制台日志记录:

    • 在 Xcode 目标弹出窗口中选择您的扩展目标
    • 选择产品菜单 > 方案 > 编辑方案(或 Cmd
    • 在环境变量下的运行阶段,添加name:OS_ACTIVITY_MODE value:disable

    【讨论】:

    • 对我不起作用,我仍然看不到打印或 NSLog。您能否告诉我可能需要打开哪些其他选项?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-30
    相关资源
    最近更新 更多