Я пишу Сервис, который будет связан с моим приложением. Пользователь должен иметь возможность щелкнуть правой кнопкой мыши ссылку в Safari (или другом веб-браузере) и вызвать мою службу и заставить ее обрабатывать ссылку (а не только текст, который выделяется, когда пользователь щелкает правой кнопкой мыши).
Единственное, что я не могу сделать, это получить URL, на который указывает ссылка. Сервисный метод дает вам NSPasteboard
для чтения, который мы назовем pboard
.
Очевидная вещь, чтобы попытаться получить выбранный HTML, была бы [pboard stringForType:NSPasteboardTypeHTML]
, но это вернуло ноль. Поэтому я позвонил [pboard types]
, и он возвратил public.utf8-plain-text и NSStringPboardType. Похоже, этот монтажный стол поддерживает только строки простого текста.
Я пытался вызвать [pboard addTypes:types owner:self]
(где types - это массив, содержащий NSPasteboardTypeHTML
и nil), но это не имело никакого значения, когда я вызвал stringForType:
.
Можно ли каким-то образом извлечь HTML из монтажной панели, когда [pboard types]
возвращает только простые типы строк? Могу ли я контролировать, что помещается на картон и / или что читается с него при вызове моей службы?