FBDialogs canPresentMessageDialogWithParams возвращает false

В настоящее время я пытаюсь добавить Facebook SDK в версию iOS моего приложения. Функции входа, выхода из системы, общего доступа и запроса в настоящее время работают, но мне трудно получить функцию MessageDialog. Приложение Facebook и приложение Facebook Messenger в настоящее время установлены на моих устройствах. Однако каждый раз, когда я вызываю «FBDialog canPresentMessageDialogWithParams: params», он возвращает false.

Я предполагаю, что эта функция не работает, пока приложение все еще находится в режиме разработки, но это всего лишь предположение. Кто-нибудь знает, работает ли диалог сообщений с приложениями, которые находятся в разработке? Или у вас есть идеи относительно того, что я делаю неправильно?

Я также включил свой код на случай, если у меня возникнут какие-то костяные ошибки. Любая помощь очень ценится!

// Check if the Facebook app is installed and we can present the share dialog FBLinkShareParams *params = [[FBLinkShareParams alloc] init]; params.link = [NSURL URLWithString:@"https://www.facebook.com/"]; params.name = @"Flash Bear"; params.caption = nil; params.picture = nil; params.linkDescription = @"I'm playing Flash Bear. Why don't you come join me?"; // If the Facebook Messenger app is installed and we can present the share dialog if ([FBDialogs canPresentMessageDialogWithParams:params]) { // Present message dialog [FBDialogs presentMessageDialogWithParams:params clientState:nil handler: ^(FBAppCall *call, NSDictionary *results, NSError *error) { if(error) { // An error occurred, we need to handle the error // See: https://developers.facebook.com/docs/ios/errors NSLog(@"Error messaging link: %@", error.description); } else { // Success NSLog(@"result %@", results); } }]; } else { // Present the feed dialog // Put together the dialog parameters UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"Sorry!" message:@"There was an error connecting to FB Messenger. Please make sure that it is installed." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [message show]; } 

One Solution collect form web for “FBDialogs canPresentMessageDialogWithParams возвращает false”

У меня также была проблема с моим приложением.

Я решил это, проверив активное состояние сеанса. Если состояние для активного сеанса отличается от открытого, нам нужно снова открыть сеанс.

Для того, чтобы сделать то же самое использование следующего кода.

 if([FBSession activeSession].state != FBSessionStateOpen){ BOOL result = [FBSession openActiveSessionWithAllowLoginUI:NO]; if(result) { //Do your stuff here } } 

Удачи.

Interesting Posts

Автоматическая отчетность Firebase включена в журнале xcode

iOS – передача имени отправителя (кнопки) в addSubview

Неожиданный код машины – повлияет ли это на утверждение приложения?

xcodebuild: error: Рабочая область с именем «myWorkspace» не содержит схемы с именем

Как сделать конкретный объект бросить вызов гравитации? (SpriteKit / Objective-C)

Как запустить быстрое приложение в фоновом режиме при закрытии приложения?

Выделите текст поиска после поиска в UITableView

Есть ли еще 64 локальных предела уведомления для новых пользовательских уведомлений в iOS 10?

Два UICollectionViews и два UICollectionViewCells в одном UIViewController

Странный тип Bool из интерфейса пользовательского интерфейса

iOS 7: Пользовательский контроллер представления контейнера и вставка содержимого

KIF Framework для iOS: может ли он имитировать жест сенсорного и удерживающего?

Objective-C 101 (сохранить vs назначить) NSString

Как обнаружить пользователя, удаленное приложение iOS? Мне нужно толкнуть серьезное уведомление. Я не хочу его потерять

Отладчик Xcode не печатает объекты и показывает nil, когда они не являются

PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.