小编xia*_*usx的帖子

Flutter::iOS 多种方案不同的 Firebase 项目

我有多个 env 方案设置 dev 和 prod,因此每个 env 有两个 firebase 项目。我在 iOS 上设置了两个方案 prod 和 dev,并按照链接https://www.tengio.com/blog/multiple-firebase-environments-with-flutter/的说明一步步操作,但是当我尝试登录时使用谷歌单点登录我收到此错误Unhandled Exception: PlatformException(google_sign_in, Your app is missing support for the following URL schemes我缺少什么?

\n\n

错误日志:

\n\n
[VERBOSE-2:ui_dart_state.cc(157)] Unhandled Exception: PlatformException(google_sign_in, Your app is missing support for the following URL schemes: com.googleusercontent.apps.xxxxxx-yyyyy, NSInvalidArgumentException)\n#0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)\n#1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:321:33)\n<asynchronous suspension>\n#2      MethodChannel.invokeMapMethod (package:flutter/src/services/platform_channel.dart:349:48)\n#3      MethodChannelGoogleSignIn.signIn (package:google_sign_in_platform_interface/src/method_channel_google_sign_in.dart:45:10)\n#4      GoogleSignIn._callMethod (package:google_sign_in/google_sign_in.dart:227:42)\n<asynchronous suspension>\n#5      GoogleSignIn._addMethodCall.<anonymous closure> (package:google_sign_in/google_sign_in.dart:291:16)\n#6      _rootRunUnary (dart:async/zone.dart:1134:38)\n#7      _CustomZone.runUnary (dart:async/zon<\xe2\x80\xa6>\nLost connection to device.\n
Run Code Online (Sandbox Code Playgroud)\n\n

谢谢

\n

development-environment production-environment ios flutter

3
推荐指数
1
解决办法
4377
查看次数

Flutter:动态初始路由

亲爱的,

我正在使用provider dart 包,它允许侦听器获得有关模型本身更改的通知。

我能够检测到我的主应用程序根树中的更改,并且还能够更改初始路由的字符串值,但是我的屏幕没有更新。请参阅下面的代码片段和注释行:

  void main() => runApp(_MyAppMain());

    class _MyAppMain extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MultiProvider(
          providers: [
            ChangeNotifierProvider<UserProvider>.value(
              value: UserProvider(),
            ),
            ChangeNotifierProvider<PhoneProvider>.value(
              value: PhoneProvider(),
            )
          ],
          child: Consumer<UserProvider>(
            builder: (BuildContext context, userProvider, _) {
              return FutureBuilder(
                future: userProvider.getUser(),
                builder: (BuildContext context, AsyncSnapshot<User> snapshot) {
                  if (!snapshot.hasData) {
                    return Center(
                      child: CircularProgressIndicator(),
                    );
                  }

                  final User user = snapshot.data;

                  String initialScreen = LoginScreen.path;

    // (1) I am able to get into the condition

                  if …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-navigation

0
推荐指数
1
解决办法
2798
查看次数