iPhone / iOS - Как использовать «ShareKit» для публикации только в Facebook или только в Twitter - PullRequest
21 голосов
/ 25 марта 2011

В моем приложении для iPhone у меня есть две две кнопки с надписью «Facebook» и «Twitter». Я хочу использовать фреймворк Sharekit , который делает мой обмен очень простым. Но, как показано в примере кода ShareKit, я могу показать только многие службы обмена, которые я не хочу включать. Я хочу, чтобы моя кнопка «Facebook» показывала только сервис обмена Facebook, и то же самое с Twitter. Как я могу изменить ShareKit для такой работы?

Ответы [ 3 ]

31 голосов
/ 04 апреля 2011

Обновление

Поскольку этот ответ по-прежнему популярен, я просто хотел добавить, что в iOS 5 и iOS 6 потребность в Sharekit намного меньше. Многие популярные опции обмена теперь встроены в ОС. При этом этот ответ по-прежнему действителен для служб общего доступа, не встроенных в устройство, или если вам просто удобнее использовать Sharekit.


Я покажу вам, как сделать это для Facebook, Twitter точно такой же, просто измените все экземпляры Facebook на Twitter

Сначала #import "SHKFacebook.h" затем в методе назначения вашей кнопки введите следующее:

SHKItem *item;    //This creates the Sharekit Item
NSURL *url = [NSURL URLWithString:@"http://itunes.apple.com/us/app/...?mt=8"];

NSURL должна быть ссылкой на ваше приложение в магазине приложений. Таким образом, если кто-то увидит сообщение, созданное вашим приложением на Facebook, и щелкнет по нему, он будет направлен в магазин, чтобы его можно было скачать. Строго говоря, это необязательно, но почему бы вам не попробовать получить новые загрузки с этой дополнительной одной строкой.

Теперь нам нужно настроить SHKItem следующим образом:

item = [SHKItem URL:url title:[NSString stringWithFormat:@"I'm playing someGame on my iPhone! My Highscore is %i, think you can beat it?", highScoreInt]];

Затем настройте сообщение так:

item = [SHKItem URL:url title:@"Share Me!"];

Параметр заголовка НЕ , настраиваемый пользователем. Все, что вы здесь установите, пользователь не сможет изменить. У них будет возможность добавить свой собственный текст в дополнение к тому, что вы там поместите.

Наконец покажите предмет:

[SHKFacebook shareItem:item];

Надеюсь, это поможет. Как я уже сказал, просто измените Facebook в этом посте на Twitter. Дайте мне знать в комментарии, если вам нужна дополнительная помощь.

4 голосов
/ 25 марта 2011

Sharekit предоставляет общий механизм обмена, но также предоставляет отдельные сервисы. Например, если вы хотите поделиться URL в твиттере, вы можете написать следующий код:

#import "ShareKit/Core/SHK.h"
#import "ShareKit/Sharers/Services/Twitter/SHKTwitter.h"

...

SHKItem *item = [SHKItem URL:url title:@"A title"];
[SHKTwitter shareItem:item];

Это все объяснено в документации , но не бойтесь исследовать файлы заголовков отдельных служб.

0 голосов
/ 04 апреля 2011

У меня тоже была такая же проблема в одном из моих приложений, и я пытался заставить sharekit сделать именно это.

ShareKit на самом деле не предназначен для этого, он предназначен для того, чтобы предоставлять широкий спектр возможностей для совместного использования - поэтому даже после модификации я обнаружил, что это не очень элегантное или эффективное решение.

Конечно, это сэкономит немного времени, но если вы хотите красивое и элегантное решение, я бы предложил самостоятельно интегрировать Twitter и Facebook.Это займет немного времени, но вы можете определить поведение именно так, как вы хотите, и настроить интерфейс так, чтобы он лучше подходил вашему приложению.

...