问题标签 [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.

0 投票
0 回答
89 浏览

swift - 从 Swift 代码自动启用 macOS 扩展

我正在使用FinderSync Extension为 macOS 编写自定义应用程序。代码是使用 swift 编写的。安装此应用程序后;用户需要从系统扩展手动启用我的应用程序的 FinderSync 扩展。任何人都知道如何让它在安装后自动启用自定义应用程序的 FinderSync 扩展。是否有任何 Xcode 功能可以使其自动启用?

0 投票
1 回答
209 浏览

cocoa - Finder Sync Extension 工具栏项目菜单的奇怪行为

我正在使用 Finder Sync Extension 构建一个 macOS 应用程序,它向 Finder 添加了一个工具栏项。

我创建了这样的工具栏项目菜单:

该项目确实显示为标题“foo”,但是当我单击它时,它(null)被打印出来了。

我还尝试创建NSMenuItemwith的子类@property (NSURL*) URL,并在创建项目时设置 URL 属性,但单击后 URL 属性再次变为 nil。

那么这里出了什么问题呢?

0 投票
1 回答
887 浏览

cocoa - 如何使查找器同步扩展自动加载?

我创建了一个可可应用程序项目,并添加了目标“Finder 同步扩展”。然后“finderSync.appex”将被放入“.../Contens/Plugins/”文件夹。但是当我启动应用程序时,扩展程序没有自动加载,我应该手动加载吗?我怎样才能加载它?

从 Apple 开发指南中,它说:

我已经设置如上,但它不起作用。

0 投票
1 回答
540 浏览

objective-c - 如何在启动主应用程序时启动 Finder Sync Extension?

在我的 Cocoa 应用程序中,我有一个查找器同步扩展。

启动应用程序时,我的 finder 同步扩展不会自动启动。

我需要去 System Preferences -> Extensions 并启用它。

如何确保在启动我的主应用程序 (.app) 文件时启动并启用 finder 同步扩展?

0 投票
1 回答
309 浏览

objective-c - 禁用和启用不会启动 finder 同步扩展

在此处输入图像描述

可以从系统偏好设置中的扩展设置启用或禁用 Finder 同步扩展。

即使启用了扩展程序的复选标记,我的扩展程序也不会随应用程序一起启动。

所以要启动扩展,我禁用我的扩展并再次启用它。这不是启动扩展应用程序吗?

因此想知道我是否在这里遗漏了任何方面。

注意:如果应用程序正在运行,并且我禁用了扩展程序,它会退出扩展程序应用程序(需要一些时间才能这样做)

我的 Finder 同步扩展的 Info.Plist。 在此处输入图像描述

0 投票
0 回答
797 浏览

objective-c - 在 FinderSync plist 中将产品模块名称添加到 NSExtensionPrincipalClass 会使其崩溃

我的可可应用程序有一个查找器同步扩展。

正如苹果指南中所建议的那样:https ://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/Finder.html

我将 $(PRODUCT_MODULE_NAME) 添加到查找器的 info.plist 中。

这样做会导致查找器在到达初始点之前就崩溃了。

甚至我未捕获的异常处理程序也无法捕获此异常。

我的扩展的 info.plist 文件。

错误堆栈跟踪是:

0 投票
1 回答
585 浏览

swift - FinderSync 扩展运行时错误:无法打开文件,因为您无权查看它

我正在编写一个 FinderSync 扩展,它将一个项目放在上下文菜单中。当我右键单击时,我希望菜单项的标题根据所选文件的内容进行更改。但是,当我尝试使用 读取内容时Data(contentsOf: selectedUrl),会引发以下错误:

Error Domain=NSCocoaErrorDomain Code=257 “无法打开文件“Some File.png”,因为您没有查看权限。” UserInfo={NSFilePath=/Users/Shared/MySyncExtension Documents/Some File.png, NSUnderlyingError=0x61800004cf00 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not allowed"}}

如果我添加或删除沙盒,这不会改变。


先前的研究

0 投票
0 回答
2306 浏览

swift - 如何在 Finder 同步扩展中使用 Xcode 中的 Swift 通过 Finder 打开文件夹

当用户单击我正在编写的 Finder 同步扩展中的菜单项时,我试图打开一个特定的文件夹。我知道发布了许多类似的问题,因为我已经查看了它们,但没有一个解决方案在我的应用程序中起作用。

这是我要打开的文件夹:

这篇文章Show folder's contents in finder using Swift建议执行以下操作:

当我厌倦了这种方法时,单击菜单项时什么也不做。

我看过很多其他帖子,我也尝试了以下方法,但我还没有任何工作。

这导致包含文件夹“some”被打开,而我实际上想要打开的文件夹“文件夹”只是突出显示。

当我厌倦了这种方法时,单击菜单项时什么也不做。

当我尝试这种方法时,我从 Finder 收到一条消息,说明:

有没有通过 Xcode 给扩展更多权限的方法?我知道我的父应用程序可以读取和写入此文件夹没有问题。

当我厌倦了这种方法时,单击菜单项时什么也不做。

我猜这些方法都不起作用,因为我试图从 Finder Sync Extension 中做到这一点。有谁知道如何解决这个问题?

更新

我从父应用程序测试了这些方法,其中大多数都有效。问题是如何从 Finder 同步扩展中创建这种类型的行为。任何帮助将不胜感激。

0 投票
1 回答
990 浏览

cocoa - Finder Sync with App Sandbox OFF 不工作

我创建了一个简单的 Finder Sync (FinderSync) 扩展 (appex),它默认带有 App Sandbox ON (in .entitlements com.apple.security.app-sandbox true)。

一切正常,但我需要通过此扩展访问 macOS 上的特定文件夹,而我无法在 Sandbox 上执行此操作。

我禁用了沙箱,但扩展程序不再在 Finder 中加载。对此有什么想法吗?任何解决方法?

0 投票
2 回答
2835 浏览

node.js - 如何在 Electron 应用程序中嵌入 mac 应用程序扩展?

我正在尝试在我用Electron编写的应用程序中嵌入一个用 Swift 编写的Finder Sync 扩展。我怎样才能设法让它们一起工作并相互交流?我已阅读 Apple文档,但它仅说明了如何将目标添加到本机应用程序。我还注意到我可以使用electron builder在应用程序文件夹中手动注入编译文件(由 XCode 生成)。如何在 XCode 中开发和测试扩展并将其正确嵌入到自定义 Electron 应用程序中?有什么建议吗?.appexPlugins

非常感谢您的任何建议