Objective c 如何启动应用程序';代码中的FinderSync扩展?

Objective c 如何启动应用程序';代码中的FinderSync扩展?,objective-c,xcode,macos,findersync,Objective C,Xcode,Macos,Findersync,我使用了finder同步扩展 当我直接从Xcode启动它时,它会显示在finder中。但当我运行主应用程序时,它不可见。沙盒应用程序有什么方法可以做到这一点吗?在非沙盒应用程序中,我使用了以下代码: NSTask *fseEnable = [[NSTask alloc] init]; fseEnable.launchPath = @"/usr/bin/pluginkit"; fseEnable.arguments = @[@"-e", @"use", @"-i", @"com.team.AppN

我使用了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];
但它也不起作用

可能在项目设置中有一些复选框可以执行此操作。但我不喜欢它

我也在报纸上发现了一些令人悲伤的消息

安装应用程序扩展后,用户必须采取操作才能启用 信息技术通常,用户可以在其应用程序的上下文中启用扩展 当前任务。如果您的扩展是Today小部件,例如,用户 可以在Notification Center中编辑“今日”视图以启用 扩大在其他情况下,用户可以使用设置(在iOS中)或系统 首选项(在macOS中)以启用和管理它们所使用的扩展 安装

使用
int system(const char*)
而不是
NSTask

system("pluginkit -e use -i com.team.AppName.FinderSyncExtension");
使用
int system(const char*)
而不是
NSTask

system("pluginkit -e use -i com.team.AppName.FinderSyncExtension");