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 share
NSAttributedString *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?(named
serviceName
: 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
Элементы для совместного использования.
Возвращаемое значение
YES
true
если служба может совместно использовать все элементы;NO
false
иначе. Еслиitems
nil
, метод возвратитсяYES
true
когда сконфигурирована служба.Обсуждение
Этот метод может использоваться для проверки настроенного пользовательского интерфейса, такого как специализированная кнопка 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;
Константы
-
NSSharingServiceNameAddToAperture
NSSharingServiceNameAddToAperture
Добавляет содержание к Апертуре.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNameAddToIPhoto
NSSharingServiceNameAddToIPhoto
Добавляет содержание к iPhoto.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNameAddToSafariReadingList
NSSharingServiceNameAddToSafariReadingList
Добавьте содержание к Списку Чтения Safari.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNameComposeEmail
NSSharingServiceNameComposeEmail
Создает электронные письма с содержанием.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNameComposeMessage
NSSharingServiceNameComposeMessage
Создает методы сообщений с содержанием.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNamePostImageOnFlickr
NSSharingServiceNamePostImageOnFlickr
Отправляет изображение на Flickr.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNamePostOnFacebook
NSSharingServiceNamePostOnFacebook
Отправляет содержание на Facebook.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNamePostOnLinkedIn
NSSharingServiceNamePostOnLinkedIn
Отправляет содержание на LinkedIn.
Доступный в OS X v10.9 и позже.
-
NSSharingServiceNamePostOnSinaWeibo
NSSharingServiceNamePostOnSinaWeibo
Отправляет содержание на Sina Weibo, китайский микроблогинг (weibo) веб-сайт. Сродни гибриду Twitter и Facebook.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNamePostOnTencentWeibo
NSSharingServiceNamePostOnTencentWeibo
Отправляет содержание на Tencent Weibo, китайский микроблогинг (weibo) веб-сайт.
Доступный в OS X v10.9 и позже.
-
NSSharingServiceNamePostOnTwitter
NSSharingServiceNamePostOnTwitter
Отправляет содержание на Twitter.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNamePostVideoOnTudou
NSSharingServiceNamePostVideoOnTudou
Отправляет видео на службе Tudou совместного использования видео, базируемой в Китайской Народной Республике.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNamePostVideoOnVimeo
NSSharingServiceNamePostVideoOnVimeo
Отправляет видео на службе Vimeo совместного использования видео.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNamePostVideoOnYouku
NSSharingServiceNamePostVideoOnYouku
Отправляет видео на службе Youku совместного использования видео, базируемой в Китайской Народной Республике.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNameSendViaAirDrop
NSSharingServiceNameSendViaAirDrop
Отправляет файл через Сбрасывание груза с авиатранспорта.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNameUseAsDesktopPicture
NSSharingServiceNameUseAsDesktopPicture
Заменяет рисунок рабочего стола пользователя содержанием.
Доступный в OS X v10.8 и позже.
-
NSSharingServiceNameUseAsFacebookProfileImage
NSSharingServiceNameUseAsFacebookProfileImage
Заменяет аватар Facebook пользователя предоставленным изображением.
Доступный в OS X v10.9 и позже.
-
NSSharingServiceNameUseAsLinkedInProfileImage
NSSharingServiceNameUseAsLinkedInProfileImage
Заменяет аватар LinkedIn пользователя предоставленным изображением.
Доступный в OS X v10.9 и позже.
-
NSSharingServiceNameUseAsTwitterProfileImage
NSSharingServiceNameUseAsTwitterProfileImage
Заменяет изображение профиля в Твиттере пользователя предоставленным изображением.
Доступный в OS X v10.8 и позже.
-