将应用程序升级到 Swift 4 和 iOS 11 - TwitterKit 问题

Upgrading App to Swift 4 and iOS 11 - TwitterKit Issues

我正在尝试将我的应用程序升级到最新的 iOS 支持。我已经通过 CocoaPods 添加了 TwitterKit,并在我的 Bridge Header 中放置了 header。然而;我收到一条错误消息:

Use of unresolved identified 'Twitter' - did you mean 'TWTRTTwitter'.

func application(_ application: UIApplication, didFinishLaunchingWithOptions lauunchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    Twitter.sharedInstance().start(withConsumerKey:"MYKEY", consumerSecret:"MYSECRET")
    return true
}

这个权出自推特推荐码。我也在:

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {

    let handled:Bool = true

    Twitter.sharedInstance().application(app, open: url, options: options)

    return handled
}

有什么指点吗?

最新的 Twitter 套件版本对代码进行了一些更改。我们更改了 Twitter -> TWTRTwitter - 但还添加了一个宏,以便您仍然可以使用 [Twitter sharedInstance]。不幸的是,这目前不适用于 Swift - 所以按照建议尝试使用 TWTRTwitter。我们会在文档中解决这个问题!抱歉!

谢谢你,Andy Piper,我解决了如下问题:

  1. 已更新 pod,以便 TwitterCore 3.1.0 和 TwitterKit 3.3.0

  2. 桥接中-Header.h文件

导入为 TwitterKit/TWTRKit.h 而不是 TwitterKit/TwitterKit.h

  1. 在 didFinishLaunchingWithOptions 中,

    • 修改Twitter.sharedInstance().start(withConsumerKey:”你的消费者秘钥”,consumerSecret:”你的消费者秘密”)

TWTRTwitter.sharedInstance().start(withConsumerKey: ”你的消费者秘钥”, consumerSecret:”你的消费者秘密”)

即在使用的地方将 Twiter 替换为 TWTRTwitter。

  • 不需要用fabric初始化,所以删除了这行或者删除了

Fabric.with([Twitter.self]) 或 Fabric.with([TWTRTwitter.self])