San*_*D S 5 cocoa objective-c findersync macos-sierra
在我的Cocoa应用程序中,我有一个finder同步扩展.
启动应用程序时,我的finder同步扩展程序不会自动启动.
我需要转到系统偏好设置 - >扩展并启用它.
如何确保在启动主应用程序(.app)文件时启动并启用查找器同步扩展?
查看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);
    });
}
| 归档时间: | 
 | 
| 查看次数: | 370 次 | 
| 最近记录: |