如何从代码中启动应用程序'的FinderSync扩展?
我已经使用指令. 当我直接从Xcode启动时,它会在Finder中显示.但是,当我运行主应用程序时,它不可见.有什么方法可以为沙盒应用程序吗?在不沙盒应用程序中,我使用了代码: NSTask *fseEnable = [[NSTask alloc] init]; fseEnable.launchPath = @"/usr/bin/pluginkit"; fseEnable.arguments = @[@"-e", @"use", @"-i", @"com.team.AppName.FinderSyncExtension"]; [fseEnable launch]; ,但它不适用于沙盒.我尝试了: [[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier:@"com.team.AppName.FinderSyncExtension" options:NSWorkspaceLaunchDefault ad
2 2023-12-19
编程技术问答社区
将产品模块名称添加到findersync plist中的nsextension principalclass崩溃
我的可可应用程序具有查找器同步扩展. 如苹果指南中的建议:我将$(product_module_name)添加到我的finder info.plist中. 这样做会导致查找器甚至在达到初始点之前就崩溃了. 即使是我未知的例外处理程序也无法捕获此例外. 我的扩展名的信息. CFBundleDevelopmentRegion en CFBundleDisplayName My App Finder In
2 2023-12-18
编程技术问答社区
如何在Electron应用中嵌入一个mac应用扩展?
我正在尝试嵌入 finder同步扩展用swift用 非常感谢您的任何建议 解决方案 您的电子根文件夹中的Create 插件文件夹. 将 .appex 文件复制到插件文件夹中. 如果您使用的是电子构建器,请修改 package.json file- add: "extraFiles": ["PlugIns/"]在" Mac"部分中. 构建.您的应用程序包的内容将包含插件文件夹和您的AppEx文件,Appex将加载到您的应用程序的过程中. 其他解决方案 如何将Mac应用程序扩展嵌入电子应用中? 我将其作为独立的二进制文件编译,并将其包含在某些DIR中,以使用 child_process.execfile 使用Execfile执行二进制时,您可以使用参数,这是一个示例(使用Promise) const util = require('util'); const execFile = util.promisify(require('chi
2 2023-12-18
编程技术问答社区
如何为.zip文件提供上下文菜单项?
我正在开发可可中的Zip Extractor应用程序,我正在使用FinderSync来显示上下文菜单项.但是,问题在于我只想显示.zip文件的每个文件显示项目. 任何建议. 预先感谢! 解决方案 尝试此 NSURL *selectedURL = FIFinderSyncController.defaultController.selectedItemURLs[0]; NSURL *fileURL = selectedURL.filePathURL; if([fileURL.pathExtension isEqualToString:@"zip"]) { NSMenu *menu = [[NSMenu alloc] initWithTitle:@""]; NSMenuItem *item = [menu addItemWithTitle:@"Hello" action:@selector(itemTarget:) keyEquivalent:@""];
0 2023-11-09
编程技术问答社区
查找器同步扩展和主应用程序应如何沟通?
我的用例:我有一个" mainapp",可以执行文件同步. 我希望" mainapp"处理有关同步和其他REST API调用(例如文档共享等)的所有服务器调用,等等 . 另一方面,我将有一个Finder Sync扩展名,该扩展程序将显示同步型星期覆盖层. 它还将有一个文件context-menu-item"共享",它将提供一个共享对话框,用户可以选择与谁共享文件. 问题: 应该如何找到ersyncextension和mainapp交流?是否应该使用XCP,如果是的话,交流是双向的吗?例如,MainApp通知Finder应该刷新它,因为某些文件已同步,并且Finder通知MainApp应该执行"共享"操作. 谁应该出示"共享"对话框?单击FinderSyncextension"共享"菜单项时,应显示共享表单.是否应该由Finder扩展程序或MainApp显示(假设FindErxtension告知它单击"共享"项目). 如果Finder扩展程序应呈现表单,则Fin
12 2023-10-13
编程技术问答社区
点击菜单项时没有回调
我正在尝试在我的FinderSync扩展程序中实现一个简单的上下文菜单. 我使用一些示例构建了以下内容,我的问题是我单击菜单项时从未调用回调. 源代码: contextmenuhelper.h #import #include "FinderSync.h" @interface ContextMenuHelper : NSObject + (NSMenu *)buildMenu; @end contextmenuhelper.m #import "ContextMenuHelper.h" #define SharedContextMenuTarget [ContextMenuTarget sharedInstance] @interface ContextMenuTarget : NSObject + (ContextMenuTarget *) sharedInstance; @end @
10 2023-08-25
编程技术问答社区
如何在macOS系统偏好设置中启用FinderSync扩展功能
我正在将可可应用中的Findersync扩展程序集成,以显示文件和文件夹中的徽章.查看以下两个方案: 当我使用FinderSync扩展程序(例如DemoFinderSync)运行应用程序时,请查看下图中的蓝色弹出窗口时,在这种情况下,在系统偏好中添加了带有复选标记的扩展名,并将该主类称为" Findersync.m". 当我使用应用程序方案(例如DemoApp)运行应用程序时,请查看下图中的蓝色弹出窗口时,在这种情况下,在系统偏好中添加了扩展名,但没有复选标记,但该主要类" findersync.m"不在这种情况下,请致电和FinderSync扩展名不起作用. 有人有一个想法如何使用第二种情况在系统偏好中启用Finder扩展? 解决方案 我得到了解决方案: 代码启用扩展名(捆绑ID) system("pluginkit -e use -i YourAppBundleID") 代码禁用扩展名(捆绑ID) system("pluginkit -
20 2023-05-15
编程技术问答社区
如何在启动主应用程序时启动Finder同步扩展?
在我的可可应用中,我有一个查找器同步扩展名. 在启动应用程序时,我的Finder Sync扩展程序不会自动启动. 我需要转到系统首选项 - >扩展名并启用它. 如何确保在启动我的主应用程序(.App)文件时,Finder Sync扩展程序将启动并启用? 解决方案 结帐 https:///blog.codecentric. DE/EN/2018/09/finder-sync-Extension/ 有一个部分在应用程序启动上重新启动FinderSyncextension ,其中包含有关如何在应用程序启动时重新启动FinderSyncExtension的说明,从而使其更可靠: + (void) restart { NSString* bundleID = NSBundle.mainBundle.bundleIdentifier; NSString* extBundleID = [NSString stringWithFormat:@"%@.
2 2023-05-05
编程技术问答社区
在Finder同步扩展中使用安全范围的书签与应用组UserDefaults
我在解决我的查找器同步扩展程序中解决安全示例书签时会遇到以下错误. 错误域= nscocoaerrordomain code = 259"该文件无法打开,因为它不采用正确的格式." 以及相关的记录 P> Failed to read values in CFPrefsPlistSource (Domain: MyAppGroupName, User: kCFPreferencesAnyUser, ByHost: Yes, Container: (null)): Using kCFPreferencesAnyUser with a container is only allowed for System Containers, detaching from cfprefsd 我正在使用以下代码在容器应用中创建安全范围书签: NSUserDefaults *sharedDefaults = [[NSUserDefaults alloc] initWithSuit
24 2023-05-05
编程技术问答社区
OS X查找器同步扩展
我无法创建一个简单的发现器同步扩展名. 我创建了一个新的OS X项目并添加了Finder Sync扩展目标,并运行了附加到Finder的扩展名.该代码似乎正在运行INIT方法,并且工具栏项目方法被调用,但在Finder中没有显示任何内容. 终端运行 2015-04-20 12:45:52.700 pcssyncextension [3196:62451]无法连接 (colorGridView)从(nsapplication)到 (nscolorpickergridview):缺少setter或实例变量 2015-04-20 12:45:52.701 pcssyncextension [3196:62451]无法连接 (view)从(nsapplication)到(nscolorpickergridview)的插座:丢失 Setter或实例变量2015-04-20 12:45:58.887 pcssyncextension [3196:62451] - [findersy
36 2023-05-04
编程技术问答社区
FinderSync检查是否选择了扩展程序
我正在开发FinderSync扩展程序,并且在检查选择是否选择或选择/取消选择扩展方面存在一些问题. 是否有一种方法可以编程检查是否在System Preferences->Extensions? 中选择了FinderSync扩展 当此选择更改时,是否有任何API通知? 除了使用以下内容外,是否有任何API选择/取消选择扩展名? system("pluginkit -e use -i com.mycompany.finderExt") 请注意,我已经访问了这些页面: 如何启用FinderSync Extension在可可的系统偏好中 - 目标C 在 解决方案 pluginkit -m -A -i com.mycompany.finderExt 如果启用了扩展名,则呼叫将返回 "+ com.mycompany.finderext(1)" 如果未启用扩展名,则呼叫将返回 " - com.mycompany.finderext(1)"
8 2023-03-16
编程技术问答社区
在沙盒环境中对FinderSync扩展的读写权限
方案 用户右键单击Finder中的目录并找到自定义Menuitem.单击该项目将告诉我的应用程序打开用户可以完成工作的窗口.完成后,需要将文件写入他通过右键选择的文件夹. 问题 我现在可以工作,但最后一部分.扩展名无法写入所选文件夹. 选择他想与之交互的文件夹的用户似乎不是Powerbox的一部分 - 我如何理解 - 仅用openPanel和savePanel激活.如何获得与用户通过菜单项选择的文件夹进行交互的权利?在开发人员库中,我找不到对该问题的任何可能解决方案的引用.不在"沙箱指南"中,不在"扩展指南"中. 如果没有选择的文件和文件夹,添加自定义菜单项的可能性将是没有用的,因此我确定必须有一种访问它们的方法. 也许我想写的方式是错误的.我的主要应用程序将临时文件写入共享组文件夹.之后,它将扩展名听到的通知发送到: func copyFile(notification:NSNotification) { NSLog("write fi
18 2023-03-16
编程技术问答社区
如何在Cocoa | Objective C的系统偏好中启用FinderSync扩展?
我正在我的 Cocoa 应用程序中集成 FinderSync 扩展,以在文件和文件夹中显示徽章.看下面两个场景: 1) 当我使用 FinderSync 扩展程序(如 DemoFinderSync)运行应用程序时,请查看下图中的蓝色弹出窗口,在这种情况下,扩展程序会添加到带有复选标记的系统偏好设置中,并将该主体类“FinderSync.m"称为好吧. 2)当我使用我的应用程序方案(如 DemoApp)运行应用程序时,请查看下图中的蓝色弹出窗口,在这种情况下,系统偏好设置中添加了扩展但没有复选标记,并且该主体类“FinderSync.m"在这种情况下不要调用并且 FinderSync 扩展程序不起作用. 所以任何人都知道如何使用第二种方案在系统偏好设置中启用 Finder 扩展. 任何帮助表示赞赏..!! 解决方案 我得到了解决方案: 启用扩展的代码(捆绑 ID) system("pluginkit -e use -i YourAppBundleID"
1402 2022-07-19
编程技术问答社区