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

时间:2017-12-17 19:14:15

标签: swift4 twitterkit ios11.2

我正在尝试将我的应用升级到最新的iOS支持。我通过CocoaPods添加了TwitterKit,并将标题放在我的Bridge Header中。然而;我收到一个错误说:

  

使用未解决的'推特' - 你的意思是'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
}

任何指针?

2 个答案:

答案 0 :(得分:5)

最新的Twitter Kit版本有一些代码更改。我们更改了Twitter - > TWTRTwitter - 但还添加了一个宏,以便您仍然可以使用[Twitter sharedInstance]。不幸的是,这目前不适用于Swift - 所以请按照建议尝试使用TWTRTwitter。我们将在文档中对此进行整理!遗憾!

答案 1 :(得分:4)

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

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

  2. 在Bridging-Header.h文件中

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

    1. 在didFinishLaunchingWithOptions中,

      • 修改后的Twitter.sharedInstance()。start(withConsumerKey:“your consumer key”,consumerSecret:“your consumer secret”)
    2. TWTRTwitter.sharedInstance()。start(withConsumerKey:“your consumer key”,consumerSecret:“your consumer secret”)

      即使用TWTRTwitter替换Twiter,使用它。

      • 无需使用结构进行初始化,因此请删除此行或删除

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