iOS8:如何正确设置扩展以使用模拟器在Xcode中调试它?

iOS8:如何正确设置扩展以使用模拟器在Xcode中调试它?,xcode,debugging,ios8,Xcode,Debugging,Ios8,我遵循了苹果为调试扩展提供的规则,但我仍然无法调试扩展,因此,例如,断点没有被拾取 我已经为扩展创建了一个新目标,它创建了一个新方案,并且我已经将该方案配置为在运行扩展时启动正确的应用程序 扩展可以正常工作,但诸如NSLog或断点之类的调试功能不起作用。我也尝试过这样的答案,但它们不起作用 我使用的是Xcode 6 beta 5和iOS模拟器除了回答如何查看扩展应用程序的日志外,还可以在日志中检查扩展程序的PID 假设您有以下NSLog语句: NSLog(@"Testing"); 执行扩展,您

我遵循了苹果为调试扩展提供的规则,但我仍然无法调试扩展,因此,例如,断点没有被拾取

我已经为扩展创建了一个新目标,它创建了一个新方案,并且我已经将该方案配置为在运行扩展时启动正确的应用程序

扩展可以正常工作,但诸如NSLog或断点之类的调试功能不起作用。我也尝试过这样的答案,但它们不起作用


我使用的是Xcode 6 beta 5和iOS模拟器

除了回答如何查看扩展应用程序的日志外,还可以在日志中检查扩展程序的PID

假设您有以下NSLog语句:

NSLog(@"Testing");
执行扩展,您将在system.log中看到如下内容:

Sep 11 11:13:40 my_machine.local today[5689]: Testing
其中'today'是您正在执行的扩展的名称(在我的例子中是today扩展),而'5689'是扩展PID

所以,现在您可以转到Xcode->Debug->attachtoprocess,然后设置断点并调试代码


希望这能帮助一些人

可能想在“测试”之前添加@如何获取system.log?@EnriMR我在Xcode 7上不再有这个问题了,似乎苹果已经解决了这个问题。您现在在目标列表上选择扩展并执行它,Xcode将自动附加到扩展进程(请注意,有时会失败,请尝试几次,直到成功)@estemendoza我正在使用Xcode 7.2,我有一个错误:(@EnriMR weird,请再试几次以防万一。System.log可以通过“console”应用程序显示,只需打开spotlight并搜索console我费了很大劲,终于在这里找到了我的答案: