我刚刚为我的应用运行了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
这些是我的pod更新中与Facebook相关的行:
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)
有谁知道这个问题?我做错了吗?
答案 0 :(得分:26)
关于FBSDKShareLinkContent
的文档,这些属性已被弃用:
从图API API 2.9中弃用了@deprecated
contentDescription
。 有关详细信息,请参阅https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations。从图API API 2.9中弃用了@deprecated
contentTitle
。 有关详细信息,请参阅https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations从图API API 2.9中弃用了@deprecated
imageURL
。 有关详细信息,请参阅https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations
您应该使用quote
和contentURL
代替它们。
作为临时解决方案,您可以取消阻止文件LinkShareContent.swift
并直接删除上述行,直到Facebook发布任何更新。
答案 1 :(得分:24)
我不认为用
引用Github用户1 amageek的回购pod 'FacebookShare', :git => 'https://github.com/1amageek/facebook-sdk-swift'
是一个好主意,1amageek可能是世界上最棒的开发者,仍然删除他/她的Facebook Swift SDK的分支
在修复之前,您应该将Podfile更改为
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 [核心等] +较新的Facebook [核心等]),代码只是完全明确您正在安装的窗格。如果您只列出广告容器FacebookCore
,FacebookLogin
和FacebookShare
,则Cocoapods将安装FBSDK作为依赖项。
参考:https://github.com/facebook/facebook-sdk-swift/issues/157
答案 2 :(得分:21)
用以下内容替换您的Podfile内容:
pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FacebookShare', :git => 'https://github.com/1amageek/facebook-sdk-swift'