问题标签 [macos-app-extension]

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 投票
1 回答
2890 浏览

macos - 您无权在 Mac Mojave 中保存文件

在我的 macOS 应用程序中,我正在尝试使用以下扩展名创建目录

当我调用此调用时,它给了我错误

您无权将文件“FolderName”保存在“SelectedFolder”文件夹中。:/Users/USERNAME/Workspace/SelectedFolder/FolderName

我看过一个类似的帖子并尝试了所有方法,但它仍然给我错误,我在这里遗漏了什么吗?任何帮助表示赞赏

0 投票
0 回答
384 浏览

swift - 如何使用 Swift 4.2 和 xcode 10.1 macos 应用程序扩展在 safari 浏览器中打开链接

我正在使用 Xcode 10.1 版在 Swift 4.2 中开发 mac os 应用程序扩展。目前,当用户单击工具栏按钮时,我正在显示一个弹出窗口。

在弹出窗口中,我加载了具有搜索框的网页。目前,当用户使用搜索框搜索时,结果显示在同一个 web 视图中(在弹出窗口本身中打开)

我想在 Safari 浏览器中打开该搜索链接/结果。

参考代码

如何在 Safari 浏览器选项卡而不是弹出窗口中打开链接?

此外,xcode 10.1 和 Swift 4.2 是否支持 UIKit?

UIKit 是否适用于 mac OS 应用程序?

0 投票
2 回答
2501 浏览

swift - UNUserNotificationCenter。此应用程序不允许通知

我在 OSX 上的开发应用程序中是新手。我想创建带有共享扩展的应用程序。内容加载后,我想显示Notification,但出现错误“此应用程序不允许通知”。我不明白为什么requestAuthorization方法不显示具有权限的对话框窗口,以及如何允许应用程序发送通知。

这是我的代码:

0 投票
1 回答
107 浏览

xcode - 如何在特定版本上测试 MacOS 应用程序?

如何在特定版本上测试 MacOS 应用程序?

我需要在 High Sierra 上启动应用程序,并且我有 Catalina。它不适用于 iPhone 模拟器

应用程序启动后,用户会在日志中收到此信息

莫哈韦及以上没有问题

我到处搜索但没有找到答案

谢谢

0 投票
0 回答
342 浏览

xcode - 是否可以创建独立的 Quick Look 扩展/插件?

根据 Apple 的说法,我们应该新建ThumbnailPreview Extensions,而不是旧的Quick Look 生成器,这些生成器将被弃用(可能在Big Sur中)。

也没有Quick Look plug-in projectXcode中创建的选项了。相反,您需要创建一个包含 quicklook 扩展的应用程序target

我的问题是:如果没有无用的包装应用程序,我是否可以不再创建独立的Quick Look 扩展(或插件)来预览文件?有没有人尝试或发现这是否仍然是一种选择?

谢谢你。

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
202 浏览

swift - 将 FinderSync Extension appex 嵌入到 Electron 应用程序

我已经构建了一个电子应用程序来同步文件与选定的目录和一个 FinderSync 扩展来显示文件的同步状态并显示上下文菜单。

该扩展程序与主应用程序配合良好,但是当我将扩展程序嵌入到电子应用程序中时,FinderSync 扩展程序无法运行。我检查了控制台和正在运行的进程,但我没有找到扩展进程,所以我想我必须以另一种方式嵌入扩展。

我是这样做的:如何在 Electron 应用程序中嵌入 Mac 应用程序扩展?

有项目的mac对象键:

关于我做错了什么或我必须如何做的任何想法?

0 投票
1 回答
851 浏览

macos - 如何启用和调试 macOS 文件提供程序扩展?

我正在尝试在带有文件提供程序扩展的 macOS Big Sur 11.2.2 上使用 Xcode 12.5 Beta 3 构建准系统应用程序。我使用 Xcode 的 beta 版本,因为以前的版本不提供文件提供程序扩展的模板(GitHub 上的示例项目)。

该应用程序及其扩展程序在其权利中设置了一个通用应用程序组,并由我的个人团队和开发证书自动签名。

我构建并运行了我的应用程序和扩展程序。但是,据我所知,我现在可以控制它何时(卸载),因为这取决于系统。

观察

  1. 文件提供程序扩展永远不会出现在系统首选项中。
  2. 控制台应用程序不提供具有不同项目名称的任何有意义的信息,除了“lsd (LaunchServices)”检查应用程序是否受管理。
  3. 扩展程序不会显示在活动监视器中。
  4. Pluginkit 报告要找到的扩展,但会添加一个感叹号(运行时pluginkit -vvvvmi SomeOrganization.SomeProduct.SomeProvider)。
  1. 通过子系统过滤系统控制台com.apple.FileProvider我在构建扩展后偶然发现了这些消息(我必须按照这个答案中的描述显示私有值):

还有另外两个PhotosFileProvidercom.apple.CloudDocs.MobileDocumentsFileProvider我猜)是无关的。报告相同的PhotosFileProvider警告。上述路径可以扩展为:

其中包含Domains.plist具有此(二进制)内容:

问题

我没有找到任何关于感叹号的含义或如何找出实际问题的信息。我该如何调试呢?控制台中的错误令人怀疑。在我看来,我在拼图中遗漏了一些在文档中没有提到的部分,比如操作方法中的一个秘密步骤。

供参考:我在 Apple Developer Forums 中的问题

0 投票
0 回答
12 浏览

xcode - macOS 应用程序扩展(音频单元)是否默认占用键盘?

不确定默认情况下它只是音频单元还是所有应用程序扩展,但从 XCode 12.4 中未修改的模板代码构建的默认音频单元似乎不会将按键转发到 Logic Pro X 10.6.0。例如,在插件窗口处于活动状态时按空格键不会开始/停止 Logic Pro 播放,这绝对是(我的意思是,开始/停止播放肯定是)我见过的几乎所有 AU 插件的默认行为.

我假设他们以某种方式将无法识别的按键转发给主机。但是,我完全不知道如何做到这一点。任何帮助将非常感激。

0 投票
1 回答
88 浏览

macos - How to retrieve the XPC service of a file provider extension on macOS?

I have extended my example project from my previous question with an attempt to establish an XPC connection.

In a different project we have successfully implemented the file provider for iOS. The exposed service must be resolved by URLs it is responsible for. On iOS it is the only possibility and on macOS it appears like that, too. Because on macOS the system takes care of managing files there are no URLs except the one which can be resolved through NSFileProviderItemIdentifier.rootContainer.

In the AppDelegate.didFinishLaunching() method I try to retrieve the service like this (see linked code for full reference, I do not want to unnecessarily bloat this question page for now):

The delivered list always is empty. However the extension is creating a service source on initialization which creates an NSXPCListener which has an NSXPCListenerDelegate that exports the NSFileProviderReplicatedExtension object on new connections. What am I missing?

Suspicious: serviceName of the FileProviderServiceSource never is queried. We are out of ideas why this is not working.

0 投票
0 回答
7 浏览

macos - 如何获取 macOS 应用程序扩展的崩溃日志?

我正在尝试帮助调试和修复 Finder 集成应用程序扩展中发生的崩溃。该应用程序是 Nextcloud 桌面。我可以看到其名为 Nextcloud Extensions 的扩展进程停止运行,但在 ~/Library/Logs/DiagnosticReports 中没有找到崩溃报告。如何获取此崩溃的日志?