我已经使用说明进行了finder同步扩展。
当我直接从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];但它也不起作用。
可能在项目设置中有一些复选框可以这样做。但我不喜欢。
另外,我在文档上也发现了一些令人悲伤的消息。
安装应用程序扩展后,用户必须采取行动启用它。通常,用户可以在当前任务的上下文中启用扩展。例如,如果您的扩展是“今日”小部件,用户可以在Notification中编辑“今日”视图以启用扩展。在其他情况下,用户可以使用设置(在iOS中)或系统首选项(在macOS中)来启用和管理他们安装的扩展。
发布于 2019-02-28 10:24:32
使用int system(const char *)而不是NSTask。
system("pluginkit -e use -i com.team.AppName.FinderSyncExtension");https://stackoverflow.com/questions/50171851
复制相似问题