首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从代码中启动应用程序的FinderSync扩展?

如何从代码中启动应用程序的FinderSync扩展?
EN

Stack Overflow用户
提问于 2018-05-04 09:39:53
回答 1查看 607关注 0票数 2

我已经使用说明进行了finder同步扩展。

当我直接从Xcode启动它时,它会显示在finder中。但当我运行主应用程序时,它是不可见的。有什么方法可以用于沙箱应用程序吗?在没有沙箱的应用程序中,我使用了以下代码:

代码语言:javascript
复制
NSTask *fseEnable = [[NSTask alloc] init];
fseEnable.launchPath = @"/usr/bin/pluginkit";
fseEnable.arguments = @[@"-e", @"use", @"-i", @"com.team.AppName.FinderSyncExtension"];

[fseEnable launch];

但它不适用于沙箱。我试过:

代码语言:javascript
复制
[[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier:@"com.team.AppName.FinderSyncExtension" options:NSWorkspaceLaunchDefault additionalEventParamDescriptor:nil launchIdentifier:nil];

但它也不起作用。

可能在项目设置中有一些复选框可以这样做。但我不喜欢。

另外,我在文档上也发现了一些令人悲伤的消息。

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

EN

回答 1

Stack Overflow用户

发布于 2019-02-28 10:24:32

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

代码语言:javascript
复制
system("pluginkit -e use -i com.team.AppName.FinderSyncExtension");
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50171851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档