标签: flutter-plugin

如何在flutter插件中调试iOS本机代码?

我想知道如何在插件中调试 Flutter iOS 代码?我可以打开每次创建插件时生成的示例应用程序,但我将插件代码视为二进制框架,因此我无法调试它。

对于 android,这相当简单,我只需在 AS 中打开 android 文件夹,插件 + 示例就在那里,我只需添加运行配置并立即开始调试。

但我真的希望为 iOS 找到类似的方法。

ios flutter flutter-plugin

6
推荐指数
2
解决办法
3815
查看次数

使用 pod 依赖项创建 Flutter 插件

我创建了一个带有“FacebookShare”依赖项的flutter插件。我的吊舱规格如下,

Pod::Spec.new do |s|
  s.name             = '{plugin name}'
  s.version          = '0.0.2'
  s.summary          = 'A new Flutter plugin for share image and text in social media'
  s.description      = <<-DESC A new Flutter plugin for share image and text in social media
                       DESC
  s.homepage         = 'https://github.com/jayarajm/flutter_share_social_media.git'
  s.license          = { :file => '../LICENSE' }
  s.author           = { '...' => '...' }
  s.source           = { :path => '.' }
  s.source_files = 'Classes/**/*'
  s.public_header_files = 'Classes/**/*.h'
  s.dependency 'Flutter'
  s.dependency 'FacebookShare'

  s.ios.deployment_target = '8.0'
  s.static_framework = …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-dependencies flutter-plugin

6
推荐指数
1
解决办法
1566
查看次数

Flutter 中提供者的单元测试

我们已经在 TDD 方法中启动了一个关于 Flutter 的新项目。我正在使用状态管理提供程序。在尝试编写小部件测试时,我们面临着测试提供程序的问题。你能否用一个例子来建议为提供者和小部件注入提供者的单元测试。

我遇到以下问题

??? EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ?????????????????????????????????????
The following ProviderNotFoundException was thrown running a test:
Error: Could not find the correct Provider above this SplashScreen Widget

To fix, please:

Ensure the Provider is an ancestor to this SplashScreen Widget
Provide types to Provider
Provide types to Consumer
Provide types to Provider.of()
Always use package imports. Ex: `import 'package:my_app/my_code.dart';
Ensure the correct context is being used.
Run Code Online (Sandbox Code Playgroud)

???启动画面代码??????????????????????????????????????????

??? EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-test flutter-dependencies flutter-channel flutter-plugin

6
推荐指数
2
解决办法
3953
查看次数

使用 in_app_purchases 官方库在 Flutter 中使用促销代码实现订阅的应用内促销

我最近在我的应用中实现了应用内订阅。现在我正在为订阅添加促销代码。拥有促销代码的人可以试用 15 天,之后将被收取费用。

https://developer.android.com/google/play/billing/billing_promo

此处描述的我们可以通过为用户提供免费试用期来促销订阅。我在游戏控制台中创建了促销活动。但是当我购买订阅时,我无法添加兑换代码或促销代码(我的应用是否需要投入生产,或者我也可以在 alpha 轨道中进行测试)。

请指导我。

promotion-code in-app-subscription flutter flutter-plugin flutter-in-app-purchase

6
推荐指数
1
解决办法
1188
查看次数

Flutter -PDF -- 错误 - 这个小部件创建了 20 多个页面。这可能是小部件或文档中的问题

我正在创建一个包含大量内容的 PDF 文档。但是,我无法显示 PDF 并且出现错误

“这个小部件创建了 20 多个页面。这可能是小部件或文档中的问题。”

我知道文字太大,但我不知道如何使它起作用

    pdf.addPage(
    pw.MultiPage(
      pageFormat: PdfPageFormat.a4,
      orientation: pw.PageOrientation.portrait,
      crossAxisAlignment: pw.CrossAxisAlignment.start,
      build: (pw.Context context) {
        return <pw.Widget>[
          pw.Wrap(
            children: <pw.Widget>[
              pw.Container(
                width: PdfPageFormat.a4.width,
                child: pw.Row(
                  mainAxisSize: pw.MainAxisSize.min,
                  crossAxisAlignment: pw.CrossAxisAlignment.start,
                  children: <pw.Widget>[
                    pw.Expanded(
                      child: pw.Column(
                        mainAxisSize: pw.MainAxisSize.min,
                        crossAxisAlignment: pw.CrossAxisAlignment.start,
                        children: <pw.Widget>[
                          pw.SizedBox(height: 8.0),
                          for (int i = 0; i < data['employers'].length; i++)
                            pw.Column(
                              mainAxisSize: pw.MainAxisSize.min,
                              crossAxisAlignment: pw.CrossAxisAlignment.start,
                              children: <pw.Widget>[
                                pw.Text(
                                  "${data['employers'][i]['duties']}",
                                  style: pw.TextStyle(
                                    fontSize: 12.0,
                                  ),
                                  softWrap: true,
                                ),
                              ],
                            ),
                        ],
                      ),
                    ),
                  ], …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout flutter-plugin

6
推荐指数
1
解决办法
2195
查看次数

Flutter Desktop - 系统托盘实现

我是颤振新手,我正在努力创建系统托盘实现。

我需要的是:

  1. 为我的应用程序创建一个托盘图标。
  2. 能够通过托盘图标右键菜单隐藏和显示应用程序窗口。
  3. 能够向托盘图标右键菜单添加选项,例如打开屏幕 X。
  4. 能够启动和停止某些进程,并实时更改托盘图标(见下图)。

在此输入图像描述

有人可以指导我吗?:D

PS:我的应用程序将在 Windows、Linux 和 MacOS 上运行。

谢谢大家!

system-tray flutter flutter-plugin flutter-desktop

6
推荐指数
2
解决办法
6364
查看次数

尝试创建未注册类型的平台视图

我正在开发一个 Flutter 插件,它使用 AndroidView 来显示本机 Android 视图

但我得到以下异常:

Unhandled Exception: PlatformException(error, java.lang.IllegalStateException: Trying to create a platform view of unregistered type: type
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会这样。有人可以解释这个异常的起源吗?

我认为你必须像这样注册视图类型PluginName.java

@Override
  public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) {
    binding.getPlatformViewRegistry()
           .registerViewFactory("type", new ViewFactory());
  }
Run Code Online (Sandbox Code Playgroud)

在示例应用程序的 main.dart 中,简单地使用该视图类型:

AndroidView(
          viewType: "type",
          layoutDirection: TextDirection.ltr,
          creationParams: creationParams,
          creationParamsCodec: const StandardMessageCodec(),
        )
Run Code Online (Sandbox Code Playgroud)

android flutter flutter-plugin

6
推荐指数
0
解决办法
841
查看次数

Flutter 插件中使用平台视图的 Android 片段

我正在开发一个用于安全视频流的 flutter 插件。我使用一个原生 Android 插件,它使用片段来播放视频。在 flutter 中浏览平台视图。看来我只能使用 getView() 重写方法将 Android 视图返回到小部件。但我必须使用片段,并且无法将片段返回到 getView() 重写方法。

无论如何,我是否可以将片段传递或返回到 flutter 小部件,以便我可以使用该 flutter 小部件来显示片段?

提前致谢。

android android-fragments flutter flutter-plugin

6
推荐指数
0
解决办法
287
查看次数

如何将第二个示例应用程序添加到 Flutter 插件项目中?

在 Flutter 中创建插件项目时,会在插件项目的子文件夹中添加一个使用该插件的示例应用程序。需要做什么才能将第二个“示例”应用程序添加到插件文件夹?

到目前为止我有:

  1. 复制示例文件夹并将其重命名为(我们称之为)app2

  2. 调整了 android 清单文件中的包名称app2

  3. 重命名pluginrootfolder/app2/pluginname_example.imlpluginrootfolder/app2/pluginname_app2.iml(以反映第二个应用程序的名称)。

  4. 在插件项目(根文件夹)的 .iml 文件中:复制并调整排除文件夹指令以反映app2

      <excludeFolder url="file://$MODULE_DIR$/app2/.dart_tool" />
      <excludeFolder url="file://$MODULE_DIR$/app2/.pub" />
      <excludeFolder url="file://$MODULE_DIR$/app2/build" />
    
    Run Code Online (Sandbox Code Playgroud)
  5. 在插件根目录和 app2 目录中运行Flutter clean和。Flutter pub get

现在的问题是,这app2会导致 1k+Target of URI doesn't exist:错误消息 - 从包(如提供程序和 json_annotation)到插件根项目中的类。您对这里的问题或如何解决有什么想法吗?

flutter flutter-plugin

6
推荐指数
1
解决办法
587
查看次数

如何在flutter插件中导入AAR文件?

我正在使用 flutter 插件,想要.aar在插件的 android 部分导入一个项目。我尝试打开 android 项目并.aar通过导入模块来导入项目,包括它setting.gradle并添加它的依赖项build.grade(就像任何其他本机 android 项目一样)。但是,当我运行flutter项目时,.aar找不到该项目。

我得到的错误是

评估项目“:flutter_plugin_andriod”时出现问题

在项目“:flutter_plugin_andriod”中找不到路径为“:commonlib”的项目。

在此输入图像描述

有人解决了吗?

aar flutter flutter-dependencies flutter-plugin

6
推荐指数
1
解决办法
8708
查看次数