xcode beta 3 swift和FBLoginViewDelegate
随着xcode(testing版3)的新版本,我执行的类来处理在Facebookloginfacebook不再工作。 它没有使用FBLoginViewDelegate之前工作。 这发生在我用来扩展一个类的时候:
class LoginVC: MyViewController,MyDetailUsable,FBLoginViewDelegate
我安装了最后的facebook sdk,以防万一我忘记了一些东西,这是我为这个项目定义的设置:
MyConnection/MyConnection-Bridging-Header.h : #import <FacebookSDK/FacebookSDK.h> //:configuration = Debug SWIFT_OBJC_BRIDGING_HEADER = MyConnection/MyConnection-Bridging-Header.h //:configuration = Release SWIFT_OBJC_BRIDGING_HEADER = MyConnection/MyConnection-Bridging-Header.h //:completeSettings = some SWIFT_INSTALL_OBJC_HEADER = YES //:configuration = Debug CLANG_ENABLE_MODULES = YES //:configuration = Release CLANG_ENABLE_MODULES = YES //:completeSettings = some CLANG_ENABLE_MODULES = YES
你有什么build议来避免或解决这个问题?
Facebook的SDK有一个名为FBGraphObject
的协议,也有一个命名相同的分类。 在Swift中,协议和类的命名空间是统一的,所以你不能有冲突的名字。 为此,您不能使用预编译的Facebook库。
您需要将FBGraphObject
协议重命名为其他类似FBGraphObjectProtocol
协议,并自己编译SDK。 这种冲突也会导致SourceKitService大部分时间。
我在苹果开发论坛上写过关于这个的文章,有人分叉Facebook SDK进行修改。 如果你使用的是Cocoapods,你可以使用pod'Facebook pod 'Facebook-iOS-SDK', :git => 'https://github.com/pgaspar/facebook-ios-sdk.git'
或者自己下载源代码,变化。