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)
Кто-нибудь знает об этой проблеме? Я сделал что-то не так?
Ответы
Ответ 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