NSSharingService
NSSharingService класс используется для обеспечения непротиворечивого пользовательского опыта при совместном использовании элементов на OS X. Например, элементы могут быть: объекты NSURL, объекты NSString, объекты NSImage, видео (через файл URLs), или любой объект, реализующий NSPasteboardWriting протокол.
Для любого элемента или группы элементов, NSSharingService выведет на экран лист совместного использования, чтобы позволить пользователю предварительно визуализировать то, что будет совместно использовано к службе. Служба совместного использования может: создайте сообщение на социальной сети как Twitter или Facebook, отправьте сообщение по электронной почте или iMessage, загрузите видео на просмотр служб или отправьте файл AirDrop.
Для разработчиков возможно использовать NSSharingService непосредственно. Например, они могут создать кнопку, которая инициирует службу как показано в этом фрагменте кода:
- (void)awakeFromNib{NSSharingService * service = [NSSharingService sharingServiceNamed:NSSharingServiceNamePostOnTwitter];[myShareOnTwitterButton setTitle:service.title];[myShareOnTwitterButton setEnabled:[service canPerformWithItems:nil]];}- (IBAction)shareOnTwitter:(id)sender{// Items to shareNSAttributedString *text = [self.textView attributedString];NSImage *image = [self.imageView image];NSArray * shareItems = [NSArray arrayWithObjects:text, image, nil];NSSharingService *service = [NSSharingService sharingServiceNamed:NSSharingServiceNamePostOnTwitter];service.delegate = self;[service performWithItems:shareItems];}
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает экземпляр службы совместного использования, представляющий указанное имя службы.
Объявление
Swift
init?(namedserviceName: String) -> NSSharingServiceObjective C
+ (NSSharingService *)sharingServiceNamed:(NSString *)serviceNameПараметры
serviceNameИмя службы. Возможная система, если значения перечислены в Available Sharing Services.
Возвращаемое значение
Экземпляр
NSSharingServiceдля указанного имени службы.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.8 и позже.
-
Создает пользовательский объект службы совместного использования.
Объявление
Параметры
titleПользовательское имя службы совместного использования.
imageИзображение, представляющее службу совместного использования
alternateImageДополнительное изображение, представляющее службу совместного использования
blockБлок, фактически взаимодействующий со службой.
Возвращаемое значение
Экземпляр пользовательского объекта совместного использования.
Обсуждение
Пользовательские службы совместного использования могут быть добавлены к
NSSharingServicePickerсsharingServicePicker:sharingServicesForItems:proposedSharingServices:метод делегата.При реализации этого метода рассмотрите разделение на подклассы
NSSharingServiceтакcanPerformWithItems:иsharingServicesForItems:может обеспечить точные результаты.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.8 и позже.
-
Заголовок службы совместного использования. (только для чтения)
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.8 и позже.
См. также
-
menuItemTitle menuItemTitleСвойствоЗаголовок службы в меню Share.
Обсуждение
По умолчанию этот заголовок совпадает со значением
titleсвойство. Ваше приложение может изменить это значение.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.9 и позже.
-
accountName accountNameСвойствоНазвание счета, используемое для регистрации на Twitter или Sina Weibo. (только для чтения)
Объявление
Swift
var accountName: String? { get }Objective C
@property(readonly, copy) NSString *accountNameОператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.9 и позже.
-
Возвращает список совместного использования служб, которые могли совместно использовать все предоставленные элементы вместе.
Объявление
Swift
class func sharingServicesForItems(_items: [AnyObject]) -> [AnyObject]?Параметры
itemsЭлементы для совместного использования.
Возвращаемое значение
Массив совместного использования служб для обеспечения
items.Обсуждение
Этот метод может использоваться, чтобы создать настроенный пользовательский интерфейс или заполнить контекстное меню.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.8 и позже.
-
Возвраты, может ли служба совместно использовать все указанные элементы.
Объявление
Swift
func canPerformWithItems(_items: [AnyObject]?) -> BoolObjective C
- (BOOL)canPerformWithItems:(NSArray *)itemsПараметры
itemsЭлементы для совместного использования.
Возвращаемое значение
YEStrueесли служба может совместно использовать все элементы;NOfalseиначе. Еслиitemsnil, метод возвратитсяYEStrueкогда сконфигурирована служба.Обсуждение
Этот метод может использоваться для проверки настроенного пользовательского интерфейса, такого как специализированная кнопка Twitter. Поэтому Вы могли вызвать его один раз во время запуска с
nilэлементы, чтобы проверить, вывести ли на экран кнопку или нет, и затем с реальными элементами, чтобы включить и отключить кнопку в зависимости от контекста или выбора.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.8 и позже.
См. также
-
Вручную выполняет службу на предоставленные элементы.
Объявление
Swift
func performWithItems(_items: [AnyObject])Objective C
- (void)performWithItems:(NSArray *)itemsПараметры
itemsЭлементы для совместного использования.
Обсуждение
В большинстве случаев это выведет на экран окно совместного использования.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.8 и позже.
См. также
-
получатели получателиСвойствоМассив, содержащий пользовательские дескрипторы желаемых получателей.
Обсуждение
Каждый объект в массиве
NSStringобъект, содержащий дескриптор единственного получателя. Определенный формат их обрабатывает, варьируется от службы до службы. Например, некоторые службы используют адреса электронной почты в качестве дескрипторов.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.9 и позже.
-
alternateImage alternateImageСвойствоДополнительное изображение, представляющее службу совместного использования. (только для чтения)
Объявление
Swift
var alternateImage: NSImage? { get }Objective C
@property(readonly, strong) NSImage *alternateImageОператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.8 и позже.
См. также
-
изображение изображениеСвойствоОсновное изображение, представляющее службу совместного использования. (только для чтения)
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.8 и позже.
См. также
-
Указывает делегата службы совместного использования.
Объявление
Swift
unowned(unsafe) var delegate: NSSharingServiceDelegate?Objective C
@property(assign) id< NSSharingServiceDelegate > delegateОбсуждение
Класс делегата должен соответствовать
NSSharingServiceDelegateпротокол.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.8 и позже.
-
attachmentFileURLs attachmentFileURLsСвойствоМассив объектов NSURL, представляющих совместно использованные файлы. (только для чтения)
Объявление
Swift
var attachmentFileURLs: [AnyObject]? { get }Objective C
@property(readonly, copy) NSArray *attachmentFileURLsОператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.9 и позже.
-
messageBody messageBodyСвойство -
permanentLink permanentLinkСвойствоПостоянный URL (постоянная ссылка), которую Ваше приложение может использовать для доступа к сообщению. (только для чтения)
Объявление
Swift
@NSCopying var permanentLink: NSURL? { get }Objective C
@property(readonly, copy) NSURL *permanentLinkОператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.9 и позже.
-
Эти константы перечисляют доступные службы совместного использования.
Объявление
Swift
let NSSharingServiceNameAddToAperture: NSString! let NSSharingServiceNameAddToIPhoto: NSString! let NSSharingServiceNameAddToSafariReadingList: NSString! let NSSharingServiceNameComposeEmail: NSString! let NSSharingServiceNameComposeMessage: NSString! let NSSharingServiceNamePostImageOnFlickr: NSString! let NSSharingServiceNamePostOnFacebook: NSString! let NSSharingServiceNamePostOnLinkedIn: NSString! let NSSharingServiceNamePostOnSinaWeibo: NSString! let NSSharingServiceNamePostOnTencentWeibo: NSString! let NSSharingServiceNamePostOnTwitter: NSString! let NSSharingServiceNamePostVideoOnTudou: NSString! let NSSharingServiceNamePostVideoOnVimeo: NSString! let NSSharingServiceNamePostVideoOnYouku: NSString! let NSSharingServiceNameSendViaAirDrop: NSString! let NSSharingServiceNameUseAsDesktopPicture: NSString! let NSSharingServiceNameUseAsFacebookProfileImage: NSString! let NSSharingServiceNameUseAsLinkedInProfileImage: NSString! let NSSharingServiceNameUseAsTwitterProfileImage: NSString!Objective C
NSString * const NSSharingServiceNameAddToAperture; NSString * const NSSharingServiceNameAddToIPhoto; NSString * const NSSharingServiceNameAddToSafariReadingList; NSString * const NSSharingServiceNameComposeEmail; NSString * const NSSharingServiceNameComposeMessage; NSString * const NSSharingServiceNamePostImageOnFlickr; NSString * const NSSharingServiceNamePostOnFacebook; NSString * const NSSharingServiceNamePostOnLinkedIn; NSString * const NSSharingServiceNamePostOnSinaWeibo; NSString * const NSSharingServiceNamePostOnTencentWeibo; NSString * const NSSharingServiceNamePostOnTwitter; NSString * const NSSharingServiceNamePostVideoOnTudou; NSString * const NSSharingServiceNamePostVideoOnVimeo; NSString * const NSSharingServiceNamePostVideoOnYouku; NSString * const NSSharingServiceNameSendViaAirDrop; NSString * const NSSharingServiceNameUseAsDesktopPicture; NSString * const NSSharingServiceNameUseAsFacebookProfileImage; NSString * const NSSharingServiceNameUseAsLinkedInProfileImage; NSString * const NSSharingServiceNameUseAsTwitterProfileImage;Константы
-
NSSharingServiceNameAddToApertureNSSharingServiceNameAddToApertureДобавляет содержание к Апертуре.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNameAddToIPhotoNSSharingServiceNameAddToIPhotoДобавляет содержание к iPhoto.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNameAddToSafariReadingListNSSharingServiceNameAddToSafariReadingListДобавьте содержание к Списку Чтения Safari.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNameComposeEmailNSSharingServiceNameComposeEmailСоздает электронные письма с содержанием.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNameComposeMessageNSSharingServiceNameComposeMessageСоздает методы сообщений с содержанием.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNamePostImageOnFlickrNSSharingServiceNamePostImageOnFlickrОтправляет изображение на Flickr.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNamePostOnFacebookNSSharingServiceNamePostOnFacebookОтправляет содержание на Facebook.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNamePostOnLinkedInNSSharingServiceNamePostOnLinkedInОтправляет содержание на LinkedIn.
Доступный в OS X v10.9 и позже.
-
NSSharingServiceNamePostOnSinaWeiboNSSharingServiceNamePostOnSinaWeiboОтправляет содержание на Sina Weibo, китайский микроблогинг (weibo) веб-сайт. Сродни гибриду Twitter и Facebook.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNamePostOnTencentWeiboNSSharingServiceNamePostOnTencentWeiboОтправляет содержание на Tencent Weibo, китайский микроблогинг (weibo) веб-сайт.
Доступный в OS X v10.9 и позже.
-
NSSharingServiceNamePostOnTwitterNSSharingServiceNamePostOnTwitterОтправляет содержание на Twitter.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNamePostVideoOnTudouNSSharingServiceNamePostVideoOnTudouОтправляет видео на службе Tudou совместного использования видео, базируемой в Китайской Народной Республике.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNamePostVideoOnVimeoNSSharingServiceNamePostVideoOnVimeoОтправляет видео на службе Vimeo совместного использования видео.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNamePostVideoOnYoukuNSSharingServiceNamePostVideoOnYoukuОтправляет видео на службе Youku совместного использования видео, базируемой в Китайской Народной Республике.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNameSendViaAirDropNSSharingServiceNameSendViaAirDropОтправляет файл через Сбрасывание груза с авиатранспорта.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNameUseAsDesktopPictureNSSharingServiceNameUseAsDesktopPictureЗаменяет рисунок рабочего стола пользователя содержанием.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNameUseAsFacebookProfileImageNSSharingServiceNameUseAsFacebookProfileImageЗаменяет аватар Facebook пользователя предоставленным изображением.
Доступный в OS X v10.9 и позже.
-
NSSharingServiceNameUseAsLinkedInProfileImageNSSharingServiceNameUseAsLinkedInProfileImageЗаменяет аватар LinkedIn пользователя предоставленным изображением.
Доступный в OS X v10.9 и позже.
-
NSSharingServiceNameUseAsTwitterProfileImageNSSharingServiceNameUseAsTwitterProfileImageЗаменяет изображение профиля в Твиттере пользователя предоставленным изображением.
Доступный в OS X v10.8 и позже.
-
