【问题标题】:How to launch Finder Sync Extension on launching the main app?如何在启动主应用程序时启动 Finder Sync Extension?
【发布时间】:2017-10-16 11:21:12
【问题描述】:

在我的 Cocoa 应用程序中,我有一个查找器同步扩展。

在启动应用程序时,我的 finder 同步扩展程序不会自动启动。

我需要进入系统偏好设置 -> 扩展并启用它。

如何确保在启动我的主应用程序 (.app) 文件时启动并启用 finder 同步扩展?

【问题讨论】:

  • 好问题..

标签: objective-c cocoa macos-sierra findersync


【解决方案1】:

结帐https://blog.codecentric.de/en/2018/09/finder-sync-extension/

有一个部分在应用启动时重新启动 FinderSyncExtension,其中包含有关如何在应用启动时重新启动 FinderSyncExtension 从而使其更可靠的说明:

+ (void) restart
{
    NSString* bundleID = NSBundle.mainBundle.bundleIdentifier;
    NSString* extBundleID = [NSString stringWithFormat:@"%@.FinderSyncExt", bundleID];
    NSArray<NSRunningApplication*>* apps = [NSRunningApplication runningApplicationsWithBundleIdentifier:extBundleID];
    ASTEach(apps, ^(NSRunningApplication* app) {
        NSString* killCommand = [NSString stringWithFormat:@"kill -s 9 %d", app.processIdentifier];
        system(killCommand.UTF8String);
    });

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t) (0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        NSString* runCommand = [NSString stringWithFormat:@"pluginkit -e use -i %@", extBundleID];
        system(runCommand.UTF8String);
    });
}

【讨论】:

    猜你喜欢
    • 2012-05-12
    • 1970-01-01
    • 2011-03-07
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    相关资源
    最近更新 更多