Share FBSDKShareLinkContent
с FBSDKShareDialog
отлично работает в iOS 8, но не имеет возможности использовать imageURL
, contentTitle
, contentDescription
на устройствах iOS 9.
Приложение построено с помощью iOS 9 SDK, Xcode 7, Facebook SDK 4.7.0, все действия, упомянутые в Подготовка ваших приложений для iOS9 сделано. Приложение в настоящее время недоступно в App Store, а приложение Facebook находится в режиме dev.
Код для представления диалога довольно распространен (Swift 2.0):
let content = FBSDKShareLinkContent()
content.contentURL = <URL to the app in the App Store>
content.imageURL = <valid image URL>
content.contentTitle = <some title>
content.contentDescription = <some descr>
let shareDialog = FBSDKShareDialog()
shareDialog.fromViewController = viewController
shareDialog.shareContent = content
shareDialog.delegate = self
if !shareDialog.canShow() {
print("cannot show native share dialog")
}
shareDialog.show()
В iOS 9 Facebook SDK представлен собственный диалог без изображения, названия и описания:
В то время, когда представлен диалог, когда приложение FB установлено на устройстве iOS 9, появляется ошибка, которая при разрешении путем добавления соответствующего URL-адреса в Info.plist не устраняет проблему. Это просто оператор журнала, который больше не отображается.
-canOpenURL: failed for URL: "fbapi20150629:/" - error: "This app is not allowed to query for scheme fbapi20150629"
В результате получается пустое сообщение:
В iOS 8, однако, диалог представлен через приложение FB или открывается в приложении Safari vc, когда приложение FB не установлено.
Для сравнения, тот же код работает с устройствами iOS 8:
UPDATE:
В то время как @rednuht ответ ниже, решает исходную проблему, стоит отметить AppStore URL-специфический случай, на который указывает @Sophie-фейдер