Интеграция Facebook iOS

#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. тем не менее, спасибо за ваши комментарии.