我使用指令制作了查找器同步扩展。
当我直接从 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 additionalEventParamDescriptor:nil launchIdentifier:nil];
但它也没有工作。
项目设置中可能有一些复选框可以做到这一点。但我不喜欢它。
此外,我在文档中发现了可能令人难过的消息。
安装应用扩展后,用户必须采取措施启用它。通常,用户可以在其当前任务的上下文中启用扩展。例如,如果您的扩展程序是今日小部件,用户可以在通知中心编辑今日视图以启用您的扩展程序。在其他情况下,用户可以使用设置(在 iOS 中)或系统偏好设置(在 macOS 中)来启用和管理他们安装的扩展。