标签: macos-app-extension

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

我在控制台中收到此消息:

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

此外,我的扩展程序不显示在系统偏好设置中: 系统偏好设置 (不,我不是在开发OneNote)


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

安装扩展的终端视图

这里证明扩展名确实是沙箱:

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


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

codesign --force --entitlements "$ENTITLEMENT" --sign "$CODESIGN_ID" --deep "$APPEX_PATH"
Run Code Online (Sandbox Code Playgroud)

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

但是,这在过去并不是一个问题.这就是说它已经做了一段时间,它运行良好.我能想到的唯一区别是,现在我们正在捆绑两个新.framework的......但是那些也签了,所以我不知道该怎么做.

当我从项目中删除框架并将代码签名转移到Xcode时,它可以工作......但这不是一个永久的解决方案,因为我们仍然需要在我们的流程中稍后手动编码.

如何安装此扩展程序保留我们的代码签名要求?

code-signing sandbox entitlements codesign macos-app-extension

7
推荐指数
0
解决办法
105
查看次数

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

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

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

任何人都可以帮助我使用 Safari App Extensions 的类似 API,就像我们在旧的 Safari JS 扩展中一样。

safari safari-extension safari-app-extension macos-app-extension

6
推荐指数
1
解决办法
650
查看次数

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

根据 Apple 的说法,我们应该新建缩略图预览扩展,而不是旧的快速查看生成器,后者将被弃用(可能在Big Sur中)。

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

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

谢谢。

在此输入图像描述

在此输入图像描述

macos xcode preview quicklook macos-app-extension

6
推荐指数
0
解决办法
848
查看次数

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

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

\n\n

显然,主捆绑包指向应用程序扩展的捆绑包,因此appStoreReceiptURL属性Bundle也会返回不存在的收据文件 \xe2\x80\x94 。

\n\n

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

\n\n
let mainBundle = Bundle.main\nprint("main bundle path: \\(mainBundle.bundleURL)")\nprint("receipt path: \\(String(describing: mainBundle.appStoreReceiptURL))")\n
Run Code Online (Sandbox Code Playgroud)\n\n

当放置在应用程序扩展视图控制器内时viewDidLoad,它返回如下结果:

\n\n
main bundle path: file:///Users/${userName}/Library/Developer/Xcode/DerivedData/${projectBuild}/Build/Products/Debug/${mainAppName}.app/Contents/PlugIns/${appExtensionName}.appex/\nreceipt path: Optional(Contents/_MASReceipt/receipt -- file:///Users/${userName}/Library/Developer/Xcode/DerivedData/${projectBuild}/Build/Products/Debug/${mainAppName}.app/Contents/PlugIns/${appExtensionName}.appex/)\n
Run Code Online (Sandbox Code Playgroud)\n\n

然而,看看.appex捆绑包的内部,文件夹Contents/_MASReceipt/不存在。

\n

macos receipt-validation swift macos-app-extension

5
推荐指数
0
解决办法
191
查看次数

Safari扩展应用程序未显示在Safari偏好设置的“扩展”标签中

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

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

safari macos-high-sierra macos-app-extension

3
推荐指数
1
解决办法
2380
查看次数

您无权在 Mac Mojave 中保存文件

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

\n\n
extension URL {\n    static func createFolder(folderName: String, folderPath:URL) -> URL? {\n        let fileManager = FileManager.default\n        let folderURL = folderPath.appendingPathComponent(folderName)\n        // If folder URL does not exist, create it\n        if !fileManager.fileExists(atPath: folderURL.path) {\n            do {\n                // Attempt to create folder\n                // try fileManager.createDirectory(at: folderURL, withIntermediateDirectories: true, attributes: nil)\n                // try fileManager.createDirectory(atPath: folderURL.path, withIntermediateDirectories: true, attributes: nil)\n                try fileManager.createDirectory(atPath: folderURL.relativePath, withIntermediateDirectories: true, attributes: nil)\n            } catch {\n                print(error.localizedDescription + ":\\(folderURL.path)")\n                return nil\n            }\n        }\n        return folderURL\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n …

macos file-manager macos-app-extension swift4.2 macos-mojave

1
推荐指数
1
解决办法
3550
查看次数