В моем приложении для iPhone у меня две две кнопки, обозначенные как "Facebook" и "Twitter". Я хочу использовать Sharekit, что делает мой обмен очень простым. Но, как показано в примере кода ShareKit, я могу показать только много сервисов обмена, которые я не хочу включать. Я хочу, чтобы моя кнопка "Facebook" показывала только службу обмена Facebook, и то же самое с Twitter. Как я могу изменить ShareKit, чтобы работать так?
IPhone/iOS - Как использовать "ShareKit" для публикации только на Facebook или только для Twitter
Ответ 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 самостоятельно. Это занимает немного времени, но вы можете определить поведение в точности так, как вы хотите, и тему интерфейса лучше подходит для вашего приложения.