Подтвердить что ты не робот

IPhone/iOS - Как использовать "ShareKit" для публикации только на Facebook или только для Twitter

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

4b9b3361

Ответ 1

Обновление

Поскольку этот ответ по-прежнему популярен, я просто хотел добавить, что с 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. Дайте мне знать в комментарии, если вам нужна дополнительная помощь.

Ответ 2

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

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

...

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

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

Ответ 3

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

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

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