【发布时间】:2018-10-14 18:14:08
【问题描述】:
我使用 instruction 制作了查找器同步扩展。
当我直接从 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];
但它也没有工作。
项目设置中可能有一些复选框可以做到这一点。但我不喜欢它。
我还在documentation 中发现了可能令人悲伤的消息。
安装应用扩展后,用户必须采取措施启用 它。通常,用户可以在他们的上下文中启用扩展 当前任务。例如,如果您的扩展程序是 Today 小部件,用户 可以在通知中心编辑今日视图以启用您的 延期。在其他情况下,用户可以使用设置(在 iOS 中)或系统 启用和管理扩展的首选项(在 macOS 中) 安装。
【问题讨论】:
标签: objective-c xcode macos findersync