问题标签 [findersync]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - 如何安装 Finder Sync Extension 以使其与 Finder 持久集成?
在我的应用程序中,我有 Finder 同步扩展。我知道如何使用pluginkit -a
. 问题是当我从 Xcode 运行时,它会启动并运行。但我需要将它与主应用程序捆绑在一起,并且主应用程序应该启动它。我使用terminal
命令来实现它,但它不起作用。
看了几篇博客才知道,plugin/extension/.appex 需要注册到finder。我该如何注册?
macos - 为什么 FIFinderSyncController.isExtensionEnabled 总是返回 false?
我有一个使用 FinderSyncExtension 的 macOS 应用程序。在 MainApp 中,我想知道 FinderSyncExtension 是否已启用。为此,在 中有isExtensionEnabled
类属性FIFinderSyncController
,但它总是返回false
。
有谁知道正确用法FIFinderSyncController.isExtensionEnabled
或在哪种情况下会返回true
?
macos - 如何使用 Finder 同步扩展在桌面上显示徽章图标?
我写了一个 Finder 同步扩展来在文件上显示一个徽章图标。
它适用于在 finder 中打开的文件夹,但在桌面上看不到徽章图标。
检查日志输出后,插件运行时似乎beginObservingDirectoryAtURL:
没有调用。
c# - 为什么 Finder Sync 扩展在调试配置中工作而不是在发布配置中工作?
我正在 Visual Studio for Mac 下使用 .NET Framework 4.5.2 开发应用程序。
我添加了一个 Finder 同步扩展,当应用程序运行时,它会在特定文件旁边显示标记。当我从 Visual Studio 在调试配置中运行应用程序时,我对扩展的工作方式感到满意,因此我想创建一个包来将应用程序分发给其他 Mac 用户。他们告诉我,他们的 Finder 中没有出现任何徽章。此外,他们没有像我一样在系统偏好设置的扩展面板中的复选框。我尝试从我的开发计算机上运行该程序包,但似乎未加载扩展程序。我一直试图弄清楚为什么有一段时间,现在我想让它工作。我错过了什么?提前感谢任何指针。
感谢 Neil 的评论,我已经从 About Visual Studio 复制了信息,以防版本号有任何帮助:
编辑:我能想到的调试和发布配置之间的唯一区别是发布的应用程序已签名。我不确切知道签名过程是如何工作的,但我知道它使用安装在 Mac 的 Keychain Access 应用程序中的证书。在从 Visual Studio 构建之后,在创建 DMG 之前,我在 Mac 的终端中执行了以下行。我可以检查 DMG 中是否存在 Contents/PlugIns/FinderExt.appex,所以看起来问题不在于 .appex 没有正确包含在 DMG 中,所以我认为 Mac 可能拒绝检测或使用它由于签名问题,但即使使用以下命令它仍然无法正常工作。
macos - Codesign 未设置正确的权利
我的项目由主应用程序、端点安全扩展和 findersync 扩展组成。当我尝试在发布模式下构建它时,findersync 扩展是使用主应用程序的权利而不是它自己的权利构建的。我没有看到端点安全的这个问题。我正在使用“开发人员 ID 应用程序”签名身份进行签名。
当我查看构建日志时,我看到它--entitlement
在代码符号中使用,并且作为参数传递的文件也具有正确的权利。当我尝试使用标志手动运行 codesign 命令时--entitlement
,我仍然无法获得正确的权利。
系统扩展和 findersync 的协同设计方式有什么不同吗?为了获得正确的权利,我需要进行哪些更改?
macos - MacOS Finder Sync Extension - Finder 上下文菜单和图标标记问题
我有一个主应用程序和目标查找器同步扩展。Finder 同步扩展负责显示 Finder 上下文菜单并更正从主应用程序发送的项目的标记。有时它会起作用。
但是,如果我重新启动机器或应用程序,尽管主应用程序和扩展程序都在运行,但 Finder 上下文菜单和图标标记都不会出现。只有在我重新启动 Finder 时才会出现。我试图杀死 Finder 同步扩展并在启动主应用程序后启动但不工作。
swift - 通过 electron-builder 嵌入 Finder Sync 扩展的问题
我有一个 Electron 应用程序,它通过 Finder Sync 扩展与 OS X Finder 集成。总体而言,该应用程序包含三个部分:
- 电子应用
- 迅捷应用
- FinderSync 扩展
Electron 应用程序是主要的入口点。在启动时,它会创建一个运行 Swift 应用程序的子进程。Swift 应用程序中嵌入了 FinderSync 扩展。Swift 应用程序和 FinderSync 扩展通过 ICP 进行通信,以便 FinderSync 扩展可以获取徽章和上下文菜单的正确信息。
我用电子制造商建造一切。它最终得到如下结构:
当我安装应用程序并运行它时,我在 Console.app 中看到了这个
该插件被标记为沙盒,这是插件的内部实例。我不明白这对于上层。
当我启动应用程序时,我可以看到我的插件正在 Finder 扩展首选项窗格中运行。如果我在 Preference Pane 中切换扩展程序,我可以在 Console.app 中看到扩展程序和 Swift 应用程序正在相互通信。但我在 Finder 中看不到我的上下文菜单或徽章。
我确实在我的 Swift 应用程序和 Finder 扩展的日志中看到了这一点:
该扩展是沙盒的,而 Swift 应用程序不是。我花了一段时间才让这些权利“正确”。我在 Electron 应用程序中列出了两次插件。我发现如果我不把它放在顶层PlugIn目录中,那么它就不会注册到操作系统。当我查询 pluginkit 时,我看到扩展的第一个实例正在运行。扩展程序和 Swift 应用程序具有相同的应用程序组,因此它们可以进行 IPC。
在这一点上,我不确定我能做什么。该插件似乎是随 Electron 应用程序启动的,而不是当我从 Electron 内启动 Swift 应用程序时启动的。
为了达到这一点,我解决了代码签名问题和沙盒问题。我没有使用配置文件。我确实有用于签名的 Apple 开发人员证书。
任何帮助将不胜感激。如果有一篇文章他们发布了带有电子生成器的 Finder 扩展,那也很棒。
以下是其他一些文件:
电子制造商权利文件:
package.json 中的电子构建设置