Twitter使用TWTRInvalidInitializationException登录崩溃

时间:2017-06-08 05:58:43

标签: ios swift twitter

当我尝试使用Twitter登录时,我的应用程序崩溃,并显示错误消息

在应用设置中未设置有效的Twitter工具包网址计划的情况下尝试登录或使用推文。有关详细信息,请参阅https://dev.twitter.com/twitterkit/ios/installation

我已经使用fabric应用了twitter登录。但是在将我的代码从swift 2.3转换为swift 3之后,它开始崩溃。我已经更新了我的pod并重新应用了没有结构再次登录的步骤,因为结构没有显示twitter选项现在。但是崩溃仍然存在。

2 个答案:

答案 0 :(得分:8)

如果我理解正确,你已经使用Twitter与Fabric,所以我假设你的AppDelegate中有这样的东西:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    Fabric.with([Twitter.self])    
    return true
}

请注意,由于Google收购了Fabric,您应该使用:

Twitter.sharedInstance().start(withConsumerKey:"yourAppKey", consumerSecret:"yourAppSecret")

您还应该将Info.plist配置为包含TwitterKit的URL方案,如下所示:

  1. 在CFBundleURLSchemes中,您应该使用此值的字符串键 " twitterkit-yourAppKey"
  2. 在LSApplicationQueriesSchemes中     应该添加那些" twitter"和" twitterauth"
  3. 供参考:https://dev.twitter.com/twitterkit/ios/installation

    PS:确保" twitterkit-yourAppKey"在您的CFBundleURLSchemes中是第0项,当前版本(3.0.3)中有一些奇怪的错误,如果它不是第一个崩溃的项目。

答案 1 :(得分:0)

就像上面写的答案一样,我这样做并且崩溃了:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fbmykey</string>
            <string>twitterkit-mykey</string>
        </array>
    </dict>
</array>

然后改为这个并且它起作用了:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>twitterkit-mykey</string>
            <string>fbmykey</string>
        </array>
    </dict>
</array>