Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 在模拟器上运行iOS8扩展无法提供合适的主机应用程序_Xcode_Debugging_Ios8_Ios App Extension - Fatal编程技术网

Xcode 在模拟器上运行iOS8扩展无法提供合适的主机应用程序

Xcode 在模拟器上运行iOS8扩展无法提供合适的主机应用程序,xcode,debugging,ios8,ios-app-extension,Xcode,Debugging,Ios8,Ios App Extension,当我在iPhone模拟器上运行ios8操作扩展时,它会给我一个作为主机的应用程序列表,但它只提供“今天”和我自己的应用程序,尽管我在plist中的NSExtensionActivationRule中指定了以下内容: NSExtensionActivationSupportsImageWithMaxCount:1 NSExtensionActivationSupportsWebUrWithMaxCount:1 因此,我希望safari、照片等都可以使用。创建操作扩展包括以下三个步骤 1) 使用“操

当我在iPhone模拟器上运行ios8操作扩展时,它会给我一个作为主机的应用程序列表,但它只提供“今天”和我自己的应用程序,尽管我在plist中的NSExtensionActivationRule中指定了以下内容: NSExtensionActivationSupportsImageWithMaxCount:1 NSExtensionActivationSupportsWebUrWithMaxCount:1


因此,我希望safari、照片等都可以使用。

创建操作扩展包括以下三个步骤

1) 使用“操作扩展”模板创建目标

2) 转到iPhone“照片”应用程序,选择一张照片并单击共享图标。它将显示“分享”活动(FB、Twitter等)和“行动”活动(复制、幻灯片等)。转到“操作”活动结束,然后单击“更多”按钮

3) 在“活动”页面中,您必须启用“操作”扩展


您可能希望放弃直接从模拟器启动扩展

我整个星期都在调试扩展,我的建议是这样(不要太长)的过程:

  • 启动应用程序,以便更新最新版本的扩展 加载到模拟器上
  • 然后停止应用程序,使模拟器不在使用中
  • 通过此Xcode菜单项附加到扩展:调试->附加到进程->按进程标识符(PID)或名称
  • Xcode现在将显示“正在等待‘扩展名在此’启动”,并可能提示您“采取适当的操作”
  • (在模拟器上)启动Safari(或适当的应用程序),并像Xcode在您的设备上启动它一样进行交互
  • 扩展运行后,Xcode将附加,您可以进行调试
  • 我建议将该菜单项绑定到一个键盘快捷键(我使用Opt-Shift-Cmd-a,因为我讨厌我的腕管),因为它有两个项目,愚蠢的附加菜单在打开后加载所有活动进程,因此您想要的项目会跳到屏幕顶部

    加载扩展后,如果它崩溃,您可以继续重新连接到它,而无需重新启动包含该扩展的应用程序


    这大大加快了我的调试过程。

    我创建了一个操作扩展,并在Photos应用程序中进行了检查。您正在哪个主机应用程序中寻找扩展?按照您的建议,通过直接从模拟器运行扩展,我确实可以运行它,但它仍然没有调试,因为我仍然无法在主机应用程序选项中获取“照片”。你的意思是你的主机应用程序没有照片吗?我不是说我的主机应用程序-即我的扩展插件嵌入的主应用程序,我是指应该能够运行我的扩展插件的主机应用程序。如果你的意思是我在模拟器上的照片应用程序中是否没有任何照片,是的,我添加了我自己的一个,在“…更多”菜单中打开了我的扩展,但在调试时,我仍然没有收到通过照片应用程序运行它的邀请。我做了同样的操作,但它没有显示实际活动(设备)。请也参考我的问题,我应该提到我从另一篇文章中获取了该过程(可能是这样),但这周我读了太多东西,都不记得在哪里了。所以,如果你发现它是这样的,就把它们上传并链接到这里,这样我也可以。