ShareKit - Как получить доступ к имени пользователя Twitter - PullRequest
3 голосов
/ 05 ноября 2010

В настоящее время я настроил свое приложение для использования XAuth-сервиса Twitter через ShareKit. Те, кто знают о ShareKit и внедрили его в ваше собственное приложение либо для целей тестирования, либо для добавления огромного массива сервисов, которые он реализует, в ваше приложение, вам будет хорошо, если у нас есть SHKTwitter.h и .m SHKTwitterForm.h и .m, которые можно найти в папке «Sharers» в исходном коде.

Именно здесь я начал реализовывать собственную поддержку TwitLonger для ShareKit. Однако я столкнулся с несколькими проблемами. Для тех, кто не использовал API TwitLonger, им нужно только имя пользователя Twitter, чтобы отправлять твит. Однако я изо всех сил пытаюсь извлечь введенное имя пользователя Twitter из SHKTwitterForm.

В настоящее время после разговора с Нейтом (разработчиком ShareKit) я собрал это, чтобы извлечь ключ имени пользователя из NSMutableDictionary, сохранить в NSString, а затем сохранить его в объект NSUserDefault. Это тогда вызывается, когда моя реализация API TwitLonger вступает в силу путем создания новой строки NSString, созданной из объекта NSUserDefault.

В моем SHKTwitter.m я создал подкласс формы - (void) authorizationFormSave: (SHKFormController *) в соответствии с указаниями Нейта. Как вы можете видеть ниже, это то, что у меня есть.

- (void)authorizationFormSave:(SHKFormController *)form 
{

 NSMutableDictionary *dict = [form formValues];

 NSArray *keys = [dict allKeys];
 NSString *usernameString = [[keys valueForKey:@"username"] componentsJoinedByString:@""];


 [[NSUserDefaults standardUserDefaults] setObject:usernameString forKey:@"twitter_name_preference"];
 [[NSUserDefaults standardUserDefaults] synchronize];
}

Однако всякий раз, когда я вызываю этот объект NSUserDefault в новую строку NSString в моем SHKTwitterForm.m, он возвращает nil.

У кого-нибудь есть идеи относительно того, как я могу добиться этого еще проще или я делаю это правильно? Мне кажется, что способ захвата объекта в NSMutableDictionary неправильный. Любая помощь будет оценена!

1 Ответ

1 голос
/ 21 февраля 2011

Вам нужно запросить объект словаря для valueForKey.

Например:

NSString *usernameString = [dict valueForKey:@"username"];
...