问题标签 [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.
objective-c - 使用目标 c 在沙盒应用程序中查找所选项目的完整路径
我需要使用Objective-C
. 它是一个沙盒应用程序,因此它并非对所有方法都公开工作。
请让我知道是否有任何可用的东西。
synchronization - Finder Sync Extension 和 Main App 应该如何通信?
我的用例:我有一个用于同步文件的“MainApp”。我希望“MainApp”处理所有有关同步的服务器调用和其他 REST API 调用,例如文档共享等。
另一方面,我会有一个 Finder 同步扩展,它会显示同步状态图标覆盖。它还将有一个文件上下文菜单项“共享”,它将显示一个共享对话框,用户可以在其中选择与谁共享文件。
问题:
FinderSyncExtension 和 MainApp 应该如何通信?是否应该使用 XCP,如果是,是否可以使用两种方式进行通信?例如 MainApp 通知 Finder 它应该刷新,因为一些文件已经同步,Finder 通知 MainApp 它应该执行“共享”操作。
谁应该展示“分享”对话框?单击 FinderSyncExtension 的“共享”菜单项时,应显示共享表单。这应该由 finder 扩展程序或 MainApp 显示(假设 FinderExtension 通知它单击了“共享”项)。
如果 Finder 扩展应该呈现表单,那么 FinderExtension 还应该从服务器检索数据(例如用于共享的联系人和组),我不确定 Finder 扩展是否应该对服务器执行任何网络调用。
研究这个话题,我发现了几种方法:
- FinderSyncExtension 和 MainApp 不直接通信。相反,FinderExtension 从数据库中读取数据以正确显示徽章。在这种情况下,尚不清楚 FinderExtension 在同步完成时应该如何更新,或者它应该如何通知 MainApp 执行某些操作。
- XPC 通讯。我猜 FinderExtension 可以发起对 MainApp 的调用,但预期的方向相反吗?
- macOS 进程之间是否存在某种 NotificationCenter?我尝试使用
NSWorkspace.sharedWorkspace.notificationCenter
并使用,NSDistributedNotificationCenter.defaultCenter
但它们似乎没有在 MainApp 中传递通知。 - 像 Seafile 项目中的 mach_ports?
xcode - 如何对 Finder 同步扩展进行单元测试?
有什么方法可以对 Finder 同步扩展进行单元测试?
测试扩展以将代码分解为框架然后对框架进行测试的唯一方法是什么?
swift - OS X Finder Sync App 未附加到 xcode 调试器
我有一个查找器同步扩展应用程序。运行应用程序时,断点和控制台不起作用。
macos - FinderSync 扩展 HTTP 请求失败
目前我正在使用 Swift 语言为我的应用程序编写 FinderSync 扩展。我的扩展需要对在端口号 40322 的本地主机上运行的服务器进行 REST 调用。根据响应,我将创建上下文菜单项。出于同样的原因,我在“FinderSync.swift” 文件中编写了以下代码
但是给出错误的代码为 “nw_socket_connect connectx failed: [1] Operation not allowed”
但是在导入XCPlayground并将行添加为“XCPSetExecutionShouldContinueIndefinitely(continueIndefinitely: true)”之后,相同的代码正在操场上运行
我的问题是我们是否需要在应用程序或 FinderSync 扩展的“info.plist”中添加任何元素以允许扩展进行 REST 调用,或者是否有其他方法可以解决这个问题?
macos - Finder 同步扩展
我需要使用 Finder Sync Extension 快速编写一个简单的命令行工具(守护进程)。所以我创建了一个示例命令行工具应用程序并添加了一个带有 Finder 同步扩展的目标。但是当我运行项目时,只有命令行工具应用程序进程正在创建,而不是查找器同步扩展。谁能告诉我如何为命令行工具应用程序创建 Finder 同步扩展?
objective-c - 未为新文件调用 FinderSync requestBadgeIdentifierForURL
我已经测试了 Xcode 中提供的用于制作 FinderSync 扩展的模板。在某些情况下,不会调用 requestBadgeIdentifierForURL 函数。
使用带有视图的查找器-“树视图”,您可以打开文件夹并查看其中的文件,而无需双击或位于文件夹内。
1)当文件夹打开时将文件从一个文件夹移动到另一个文件夹(您可以看到文件夹内的所有文件,如“fdgfggf2”文件夹见附件)调用requestBadgeIdentifierForURL函数。
2)但是当文件夹关闭时(如“B Sync”文件夹见附件)将文件移动到该文件夹,则不会被调用,但这是预期的吗?所以我打开文件夹(显示文件,而不是访问像“fdgfggf2”这样的文件夹),然后只为旧文件(已经在文件夹中,而不是我移动的文件)调用 requestBadgeIdentifierForURL 函数。
3) 关闭文件夹并再次打开它(按两次三角形),然后为所有文件调用 requestBadgeIdentifierForURL 函数。
4) 移动文件并打开文件夹(双击),只看到该特定文件夹中的文件,在这种情况下,对所有文件调用 requestBadgeIdentifierForURL。
这是预期的行为吗?我不认为这是错误,但是...为什么没有第一次调用?示例图像
任何建议或帮助表示赞赏
谢谢
objective-c - 如何从 Finder Sync Extension 访问用户文件夹?
我正在开发一个带有 Finder 扩展的 Cocoa 应用程序来在文件上设置覆盖图标。
一旦用户单击我正在监视的文件夹,我就会调用该方法- beginObservingDirectoryAtURL:
所以我的代码是:
[[NSFileManager defaultManager] subPathsAtPath:…]
nil
从 Finder 扩展调用时返回。
具有相同路径的相同方法调用返回主应用程序中的元素。
我可以以某种方式启用从 Finder 扩展监视特定文件夹吗?