В настоящее время я настроил свое приложение, чтобы воспользоваться реализацией XAuth сервисов Twitter через ShareKit. Те, кто знает о ShareKit и внедрили его в свое собственное приложение либо для целей тестирования, либо для добавления огромного набора сервисов, которые он реализует в ваше приложение, вам будет хорошо, если у нас есть SHKTwitter.h и .m, а также SHKTwitterForm.h и .m, которые можно найти в папке Sharers в исходном коде.
Именно здесь я начал реализовывать мою собственную поддержку TwitLonger для ShareKit. Однако я столкнулся с несколькими проблемами. Тем, кто не использовал TwitLonger API, им нужно только имя пользователя 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. Любая помощь будет оценена по достоинству!