山狮上的NSSharingService没有共享窗口

时间:2012-12-27 11:18:40

标签: custom-controls osx-mountain-lion sharing appkit

在山狮上,我尝试使用AppKit.framework的NSSharingService类进行新的共享可能性

这种代码的一切都很顺利

NSArray* array = @[ @"myText", [NSImage imageNamed:@"myImageFile"] ];

NSSharingService* sharingServiceFB = [NSSharingService sharingServiceNamed:NSSharingServiceNamePostOnFacebook];

[sharingServiceFB performWithItems:array];

但是我想在没有performWithItems函数生成的共享窗口的情况下做同样的事情。 因为我正在考虑我的应用程序的用户不想确认他想要发送消息,因为他已经选择了该消息。 我在这个课堂上没有看到任何“直接发布”功能。 是否需要以其他方式完成?

1 个答案:

答案 0 :(得分:3)

除了自己实现Facebook的API之外没有办法做到这一点,但是如果你不介意窗口出现半秒:

- (void)whatever {
    NSArray* array = @[ @"myText", [NSImage imageNamed:@"myImageFile"] ];

    NSSharingService* sharingServiceFB = [NSSharingService sharingServiceNamed:NSSharingServiceNamePostOnFacebook];

    [sharingServiceFB performWithItems:array];

    [self performSelector:@selector(pressReturn) withObject:nil afterDelay:0.5];
}

- (void)pressReturn {
    CGEventRef keypress = CGEventCreateKeyboardEvent(NULL, 36, TRUE);
    CGEventPost(kCGHIDEventTap, keypress);
}

您的用户可能不喜欢它......