В настоящее время я настроил свое приложение для использования 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 неправильный. Любая помощь будет оценена!