Twitter登录异常颤动
Posted
技术标签:
【中文标题】Twitter登录异常颤动【英文标题】:Twitter login exception flutter 【发布时间】:2020-03-04 20:06:48 【问题描述】:我正在开发 Flutter 项目,并尝试使用 flutter_twitter 插件登录 Twitter。它适用于android,但使用ios登录时遇到问题。我搜索它但没有成功。也Exception throw when login in IOS 没有帮助我。请帮助我如何解决它。
Info.plist
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>fb26143136******</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>com.googleusercontent.apps.433638145101-40qg2d9uiq4v5t*********</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>twitterkit-mmjB8lbQe3wsBhx*********></string>
</array>
</dict>
</array>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-share-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
<string>twitter</string>
<string>twitterauth</string>
</array>
颤动代码
var twitterLogin = new TwitterLogin(
consumerKey: '**jB8lbQe3wsB****',
consumerSecret:'***j5DrXVTU45mo6fb**********',
);
Future<void> loginWithTwitter() async
final TwitterLoginResult result = await twitterLogin.authorize();
switch (result.status)
case TwitterLoginStatus.loggedIn:
var session = result.session;
print(session.token);
print(session.secret);
break;
case TwitterLoginStatus.cancelledByUser:
print("Cancelled");
break;
case TwitterLoginStatus.error:
print(result.errorMessage);
break;
错误日志
*** First throw call stack:
(
0 CoreFoundation 0x00007fff23baa1ee __exceptionPreprocess + 350
1 libobjc.A.dylib 0x00007fff50864b20 objc_exception_throw + 48
2 CoreFoundation 0x00007fff23baa02c +[NSException raise:format:] + 188
3 TwitterKit 0x0000000106df38ad -[TWTRTwitter logInWithViewController:completion:] + 649
4 Runner 0x00000001023ded4d -[TwitterLoginPlugin authorize:] + 205
5 Runner 0x00000001023de83f -[TwitterLoginPlugin handleMethodCall:result:] + 335
6 Flutter 0x0000000104d0d4fd __45-[FlutterMethodChannel setMethodCallHandler:]<…>
Lost connection to device.
【问题讨论】:
【参考方案1】:您应该只有一个 CFBundleTypeRole,并且在数组中放置来自提供商 ex.google、twitter、facebook 等的所有密钥。
就像这样:
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>com.googleusercontent.apps.433638145101-40qg2d9uiq4v5t*********</string>
<string>twitterkit-mmjB8lbQe3wsBhx*********></string>
</array>
</dict>
【讨论】:
以上是关于Twitter登录异常颤动的主要内容,如果未能解决你的问题,请参考以下文章
Twitter4J + Android:身份验证挑战为空异常
“使用 Twitter 登录”,现在 Twitter 工具包已经消失了