问题标签 [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 回答
247 浏览

macos - 来自 macOS 共享扩展的 NSURLSession

我在func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {URLSessionDataDelegate 方法中收到此错误:

错误=可选(错误域=NSURLErrorDomain 代码=-1 “未知错误” UserInfo={NSErrorFailingURLKey= https://www.example.com/ , NSLocalizedDescription=未知错误, NSErrorFailingURLStringKey= https://www.example.com/ } )

非常相似的代码可以在应用程序中完美运行,但我正在尝试编写一个上传到网络服务器的共享应用程序扩展。

我正在使用与桌面应用程序相同的 URLSessionConfiguration.background(withIdentifier:"...") 。

为什么我得到 erorr -1?

0 投票
1 回答
329 浏览

macos - 我正在尝试从 OSX Sierra 的扩展坞中隐藏活动的应用程序,但我正在做的只是使应用程序崩溃

我对这个主题做了一些研究,理论上你应该可以插入

就在之前

在 .dmg 文件的末尾,即使在使用中,该图标也会从 Dock 中隐藏。我不是在寻找诸如“更改停靠栏图标”或“完全隐藏停靠栏”之类的解决方法,我想知道这种事情是如何工作的,以及为什么它只是让应用程序崩溃而不是隐藏停靠图标。

0 投票
0 回答
221 浏览

macos-app-extension - 如何让 App 与其 Finder Sync 扩展通信?

CFMessagePortRef 类可以使 finder 同步向容器应用发送消息,但容器应用不能向 finder 同步发送消息。

0 投票
5 回答
5068 浏览

safari - Safari 扩展应用程序未显示在 Safari 首选项“扩展”选项卡中

我已按照创建您的第一个 Safari 扩展应用程序中提到的所有说明进行操作。运行目标后,我打开了 Safari 首选项扩展选项卡,但在左侧窗格中FirstSafariExtensionApp找不到。My Extension我在 KeyChain 中拥有会员资格和Apple Developer安装证书。Mac DeveloperSafari Extension Developer

如何让我的第一个 Safari 扩展应用程序正常工作?

0 投票
2 回答
901 浏览

xcode - Cmake Xcode 通过新的复制文件阶段添加扩展

我正在尝试使用 cmake (3.8.0) 构建一个 Xcode 9 项目。它由一个 app 目标和一个 appex(扩展)目标组成,需要通过 Build Phases 中的“Copy Files Phase”(或“Embed App Extension Phase”)将其复制到应用程序的 PlugIns 目录中。

我尝试了几次尝试,比如打电话 set_source_files_properties(${myFile} PROPERTIES MACOSX_PACKAGE_LOCATION PlugIns) ,但到目前为止没有运气。

我认为困难(对于 cmake)是实际文件“myExtension.appex”是在构建时创建的,因此硬编码将其添加为源文件的路径似乎不起作用。

任何帮助,将不胜感激!

0 投票
0 回答
407 浏览

sandbox - 忽略 /Path/To/Foo.appex 中配置错误的插件:插件必须是沙盒

我在控制台中收到这条垃圾邮件:

错误行在 Console.app 中重复了很多次

此外,我的扩展没有出现在系统偏好设置中:( 不,我不是在开发 OneNote)系统偏好设置的扩展面板,显示我的扩展没有安装


以下是我用来安装扩展的命令,每个命令都声称它成功:

安装扩展的终端视图

这是扩展确实是沙盒的证据:

Xcode 项目,展示了 AppEx 及其沙盒特性


我能想象的唯一可能的问题涉及我们的代码签名过程。由于各种原因,它在编译使用如下命令进行代码签名:

这是一项要求,遗憾的是,无法绕过。必须在生成工件进行协同设计。appex

然而,这在过去不是问题。这就是说它已经完成了一段时间并且效果很好。我能想到的唯一区别是,现在我们捆绑了两个新.framework的 s……但是那些也被签名了,所以我不知道该怎么做。

当我从项目中删除框架并将协同设计移至 Xcode 时,它​​可以工作......但这不是一个永久的解决方案,因为我们仍然需要稍后在我们的过程中手动进行协同设计。

我能做些什么来安装这个扩展保留我们的代码设计要求?

0 投票
1 回答
357 浏览

xcode9 - Safari 应用程序扩展:在嵌套包中找不到与 CFBundleExecutable 的值匹配的可执行文件

我正在尝试验证我的 OS X 应用程序的存档,但我一直遇到以下错误。

当我浏览我的应用程序的内容时,我可以看到嵌套的可执行文件MyMacApp.app/Contents/Plugins/MySafariExtension.appex/Contents/MacOS/MySafariExtension 但是当我从 .pkg 文件安装应用程序时,扩展名不会显示在 Safari 中。我仍然在同一路径中看到可执行文件。我看着这个问题没有任何运气弄清楚发生了什么。

Safari 应用程序扩展的资源稀缺,因此希望对这里发生的事情进行一些澄清将帮助很多人!提前致谢。

更新安装包后,如果我在 Safari 中单击Allow Unsigned Extensions,我可以在 safari 首选项中看到扩展。因此,签署 Safari 应用程序扩展时可能存在问题。我正在使用与 OS X 应用程序签名相同的团队/证书。

0 投票
0 回答
131 浏览

swift - 验证来自 macOS 应用扩展的收据?

macOS应用扩展如何验证应用商店收据?即验证应用内购买是否有效(并继续有效)

显然主包指向 App Extension 的包,因此该appStoreReceiptURL属性Bundle返回一个不存在的收据文件——即使主应用程序有 App Store 收据文件。

例如,以下代码分别打印出主包和应用商店收据路径。

当放置在 App Extension 视图控制器中viewDidLoad时,它会返回如下结果:

但是查看.appex捆绑包内部,该文件夹Contents/_MASReceipt/不存在。

0 投票
0 回答
223 浏览

swift - 应用扩展中的 macOS 应用 .documentDirectory

我遇到了一个问题,当我试图从我的应用程序中获取 .documentDirectory 时,我得到了/Users/<Username>/Documents

但是当我试图从 App Extension 做完全相同的事情时,我得到了/Users/<Username>/Library/Containers/<Extension Bundle Identifier>/Data/

所以问题是:有没有可能/Users/<Username>/Documents从 App Extension 获得的方法。

我试图用来获取.documentDirectory的代码:

0 投票
2 回答
696 浏览

safari - 如何在 Safari 应用程序扩展中收听“beforeNavigate”事件

我正在开发一个 Safari 应用程序扩展。我必须像在旧的 Safari JS 扩展中一样收听“beforeNavigate”事件,我们可以使用Safari 的 Windows & Tabs API来收听这些事件。

我浏览了How to create Safari App Extension,但遗憾的是在那里找不到与这些事件相关的任何内容。

任何人都可以帮助我使用与旧 Safari JS 扩展中类似的 Safari 应用扩展 API。