#iphone #objective-c #ios #facebook #feed
#iPhone #objective-c #iOS #Facebook #лента
Вопрос:
Недавно я внедрил функциональность Facebook для публикации URL-адреса, как описано в разработке Facebook для iOS
Это то же самое, что и объяснялось.
После того, как я зарегистрировался на Facebook и установил свой ключ приложения, я запустил симулятор iPhone и авторизовался, как описано на Facebook. После этого мобильное Safari не вернулось в мое приложение (потому что я не хочу, чтобы Facebook возвращался обратно. Позже я хочу сделать это, вызвав веб-страницу самостоятельно). Итак, я просто запустил его снова (активирован из-за iOS 4.2).
После этого я переключился на то, где я публикую URL по умолчанию.
NSMutableDictionary *params = [NSMutableDictionary dictionary];
NSString *communityURL = @"http://www.google.com";
[params setObject:communityURL forKey:@"link"];
[facebook dialog:@"feed" andParams:params andDelegate:self];
Обычно это должно вызвать диалоговое окно с этими параметрами, но оно просто показало ошибку:
Эта страница содержит следующие ошибки:
ошибка в строке 25 в столбце 35: xmlParseEntityRef: нет имени
Ниже приведен рендеринг страницы вплоть до первой ошибки.
Когда я выполняю отладку в методе, который вызывает диалоговое окно, я получил URL, который будет вызван. При выполнении этого URL в веб-браузере это работает.
Почему это не работает? Что не так?
Ответ №1:
я не понял, что это было, но я придумал другое решение. Теперь я использую ShareKit. Он прост в использовании и справляется со всем самостоятельно. Я пытаюсь опубликовать несколько фрагментов исходного кода как можно скорее.
Для тех, у кого такая же проблема и кто не хочет использовать другой API, попробуйте делать то, что вам говорит документация facebook.
Сетевой адаптер
Комментарии:
1. Мне нужно было изменить некоторые объекты Sharekit, чтобы это работало для моего решения, но реализация обычно должна заполнять все пробелы, программисту iOS нужно опубликовать что-то на facebook.
Ответ №2:
хорошо, что я сделал, это просто добавил
NSURL *url = [NSURL URLWithString: @"http://www.google.com"];
SHKItem *item = [SHKItem URL:url title:@"Share Item with Google url ;)"];
// Get the ShareKit action sheet
SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];
// Display the action sheet
[actionSheet showFromTabBar:self.tabBarController.tabBar];
И это то, что я делаю.
Если кому-то нужна помощь, пожалуйста, не стесняйтесь!!
Сетевой адаптер
Комментарии:
1. Для всех, кто не знает, где найти этот SHKItem, просто посмотрите здесь getsharekit.com . Это внешний libray, который можно легко использовать.
2. И не забудьте установить настройки в SHKConfig для вашего приложения.
3. Сейчас я занимаюсь sharekit — похоже, у него нет поддержки IOS 5.x или ARC. Это правильно? Есть ли обходной путь? Спасибо!
4. Я не использую ARC, но я думаю, что если парень (ы), который запрограммировал share kit, создаст библиотеку или новую ветку, совместимую с ARC, это было бы прекрасно. Но вы также могли бы попробовать просто удалить все методы выпуска и автоматического выпуска из исходного кода, чем, я думаю, это будет совместимо. Но в целом у меня нет никаких проблем с iOS 5.x с share kit. Но когда-то была проблема с закрытием некоторых контроллеров модального представления. Парень из share kit уже устранил проблему, и вам останется только обновить share kit! Помогло ли это? Br
5. Спасибо, Ник. Все еще работаю как с sharekit (предстоит исправить сотни ошибок ARC), так и с собственным fb sdk. На самом деле нужна только интеграция с fb, но следование их инструкциям, похоже, всегда заканчивается некоторым несоответствием версий (xcode, раскадровки и т.д.), Которые также кажутся устаревшими, как и sharekits… Действительно удивительно, что для текущей iOS 5.1 нет дополнительных рекомендаций, раскадровки, нет среды ARC. тем не менее, спасибо за ваши комментарии.