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

est*_*oza 2 debugging xcode ios8

我已经按照Apple提供的用于调试扩展的文档,我仍然无法调试扩展,因此,例如,断点没有被接收.

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

扩展工作正常,但调试NSLog或断点等功能不起作用.我也试过喜欢回答这个,但他们没有工作

我正在使用Xcode 6 beta 5和iOS模拟器

est*_*oza 5

除了这个答案/sf/answers/1683028581/,它说明如何查看扩展应用程序的日志,在该日志中您还可以检查扩展的PID.

假设您有以下NSLog语句:

NSLog(@"Testing");
Run Code Online (Sandbox Code Playgroud)

执行扩展,在system.log中你会看到如下内容:

Sep 11 11:13:40 my_machine.local today[5689]: Testing
Run Code Online (Sandbox Code Playgroud)

'today'是您正在执行的扩展名称(在我的例子中是Today Extension),'5689'是扩展PID.

所以,现在你可以转到Xcode - > Debug - > Attach to Process,然后你可以设置断点并调试代码.

希望这可以帮助别人