簡體   English   中英

在 Cocoa 中運行單獨的插件

[英]Running separate plugins in Cocoa

我試圖按照插件架構指南將我所有的 Web 渲染類分離到一個單獨的插件中,但與 Mail.app 不同,加載的 NSBundle 嵌入在我的應用程序中運行,而不是單獨運行在像 Mail.app 這樣的進程中。 我如何反映這種行為並使我的插件也在單獨的進程中運行?

郵件插件

出於好奇,WKWebView 在 OSX 上使用時會自動生成這些進程。

正如@tbodt 上面提到的,XPC 服務也是一個選項,但通信接口不允許真正的 UI 分離,因為沒有明確的 XPC 主線程概念 - 因此您不能在 XPC 服務中實例化 AppKit 類。

Apple 很可能使用其 NSExtension API 來托管進程外插件。 不幸的是,雖然這個 API 是公開的,可以為 Apple 操作系統創建插件,但應用程序托管自己的插件仍然是私有的。 Apple 的文檔僅引用了舊的、過時的和不安全的 CFPlugin 架構(直接將包加載到主機進程中)。 如果您希望在自己的應用程序中使用此功能,我強烈建議您在https://feedbackassistant.apple.com上提供反饋

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM