我也在将旧版 safari 扩展程序转换为 safari 应用程序扩展程序,并为您的问题提供一些答案:
- 因为应用程序扩展更像是功能扩展而不是 safari 浏览器扩展,并且可以为您带来更多功能。正如 Apple 所说:Safari 应用程序扩展在 Safari 和您的原生应用程序docs之间提供了更多的通信和数据交换。但是,如果您只想要 safari 的扩展,我没有更多的想法,为什么这是进行扩展的唯一方法。
- 是的,您应该使用 Cocoa App 模板。如果您的应用程序不需要该窗口,您可以在 Main.storyboard 中简单地删除它或将应用程序作为“服务”。
- 我读过很多来自 Apple 的文档,但理解了一些预期。因此,我找到了一些 youtube 频道(它们已有 2 年或以上的历史,但有些东西似乎没有改变)这里的一些视频和该频道上的 Osx Dev Daily 播放列表。如果您为您的应用选择 swift 作为 PL ,当然还有官方 swift 文档。
- 我还没有读过这个,但认为它必须与你的 Cocoa 应用程序一起提交。
- 首先,您应该运行您的应用程序目标,只有在此之后,您才应该运行您的扩展程序目标并在显示的窗口中选择“Safari”以运行。如果您目前没有签名,请确保启用“允许未签名的扩展程序”在
Development > Allow unsigned extensions
Safari 应用程序中。
- 没有遇到这个信息,你能分享一下吗?(对不起,没有足够的知识)
希望,对你有帮助!
PS 还建议查看转换文档,但可能不足以转换 :)
编辑:删除应用程序窗口或更改 Cocoa App 模板为 App Store 提交的应用程序创建的默认菜单似乎是不正确的。有些人因为冗余项目的菜单更改或应用程序功能不佳或根本没有功能而导致应用程序提交的否定决定。所以考虑阅读提交文档。
请分享您的经验,当您成功提交应用程序时!
编辑 2:今天我在 Xcode 10.1 中找到了可以直接用于 Safari 扩展的模板。它与之前的工作流程一样(模板 Cocoa App + 添加扩展目标),但已经包含 safari 扩展目标
为开发人员简化了应用程序窗口和菜单:
所以你不需要使用你的应用程序,你可以只专注于扩展。