Подтвердить что ты не робот

FacebookShare вызывает ошибку компилятора после обновления

Я просто запустил pod update для своего приложения, и теперь он не будет компилироваться, давая эти проблемы от LinkShareContent.swift в FacebookShare.

Cannot assign to property: 'contentDescription' is a get-only property
Cannot assign to property: 'contentTitle' is a get-only property
Cannot assign to property: 'imageURL' is a get-only property

Это были связанные с Facebook строки в моем обновлении pod:

Installing FBSDKCoreKit 4.23.0 (was 4.22.0)
Installing FBSDKLoginKit 4.23.0 (was 4.22.0)
Installing FBSDKShareKit 4.23.0 (was 4.22.0)
Using FacebookCore (0.2.0)
Using FacebookLogin (0.2.0)
Using FacebookShare (0.2.0)

Кто-нибудь знает об этой проблеме? Я сделал что-то не так?

4b9b3361

Ответ 1

Что касается документов FBSDKShareLinkContent, эти свойства устарели:

@deprecated contentDescription устарел из Graph API 2.9.      Для получения дополнительной информации см. https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations.

@deprecated contentTitle устарел из Graph API 2.9.      Для получения дополнительной информации см. https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations

@deprecated imageURL устарел из Graph API 2.9.      Для получения дополнительной информации см. https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations

Вероятно, вы должны использовать quote и contentURL вместо них.

В качестве временного решения вы можете разблокировать файл LinkShareContent.swift и напрямую удалить вышеуказанные строки до тех пор, пока Facebook не опубликует какое-либо обновление.

Ответ 2

Замените содержимое подфайла следующим образом:

pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FacebookShare', :git => 'https://github.com/1amageek/facebook-sdk-swift'

Ответ 3

Я не думаю, что ссылка на пользователя Github 1amageek repo с

pod 'FacebookShare', :git => 'https://github.com/1amageek/facebook-sdk-swift'

- хорошая идея, 1amageek может быть самым удивительным разработчиком в мире и все еще удалять его вилку из файлов быстрых SDK Facebook.

Пока вы не установили, вы должны изменить свой подфайл на

pod 'FacebookCore', '~> 0.2'
pod 'FacebookLogin', '~> 0.2'
pod 'FacebookShare', '~> 0.2'
pod 'FBSDKCoreKit', '~> 4.22.1'
pod 'FBSDKLoginKit', '~> 4.22.1'
pod 'FBSDKShareKit', '~> 4.22.1'

И снова запустите pod update.

Обратите внимание, что этот код не добавляет "дублирующие" модули (более старый FBSDK [Core и т.д.] + новый Facebook [Core и т.д.]), код просто полностью определен в отношении установленных вами Pods. Если вы должны были перечислять только pods FacebookCore, FacebookLogin и FacebookShare, FBSDK будут всегда установлены Cocoapods в качестве зависимостей.

Ссылка: https://github.com/facebook/facebook-sdk-swift/issues/157