小编Ced*_*ric的帖子

Flutter:如何永久注册传感器(并且永远不会取消注册?)

TL;DR 如何让 Android 传感器永久运行/活动/注册我的应用程序,即使我关闭它?

目标:
我正在制作一个 Flutter 应用程序,它使用计步器包来计算您的步数, 该包
使用Android 的内置传感器,TYPE_STEP_COUNTER返回自上次启动(iOS)以来所采取的步数。在 Android 上,安装应用程序之前执行的任何步骤均不计算在内。

我是如何实现的:

  • 当应用程序在前台主动运行时,每一步都会导致 amyStepCount加 1。
  • 在所有其他情况下(手机锁定,进入主屏幕,关闭应用程序...),AndroidTYPE_STEP_COUNTER传感器应该仍然在后台运行stepCount,一旦我再次打开我的应用程序,新的和上次保存的stepCount(保存的)之间的差异使用shared_prefs)将被计算并添加到myStepCount.

重要提示:即使在我锁定手机、转到主屏幕或关闭应用程序之后,
传感器TYPE_STEP_COUNTER也必须在后台永久运行/保持注册状态...

观察结果:

  • 在我的三星 Galaxy A02s 上,我的应用程序运行得非常好,正如它所预期的那样(如上所述)。这是因为我在那部手机上还安装了 Google Fit 应用程序,它可以 24/7 跟踪您的步数(因此传感器 TYPE_STEP_COUNTER已永久注册)。
  • 在我的 Samsung Galaxy S7 上,我的应用程序无法按预期运行。 myStepCount当应用程序在前台运行时采取步骤时,该值会增加。但是,一旦我再次打开应用程序,就不会添加关闭myStepCount应用程序时采取的步骤。
    注意:我的这款手机上没有任何其他计步应用程序(例如 Google Fit)。

结论:
我需要找到一种方法从我的 Flutter 应用程序注册TYPE_STEP_COUNTER传感器,并在关闭应用程序后保持其注册状态。

2 尝试过(但不成功)的解决方案:

第一次尝试: …

android-sensors sensormanager flutter pedometer flutter-method-channel

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

XCode 中的 Flutter 项目:“多个命令生成...FBSDKCoreKit.framework”

我将 iOS 升级到 16.4.1(这需要我将 XCode 升级到 14.3,这需要我将 mac 操作系统从 12 升级到 13)后,在尝试构建 iOS Flutter 应用程序时收到此错误:

\n
\n

多个命令生成 \'/Users//Library/Developer/Xcode/DerivedData/Runner-bczatismiambuefczuntppsiskse/Build/Products/Debug-iphoneos/Runner.app/Frameworks/FBSDKCoreKit.framework\'

\n

目标\'Runner\'(项目\'Runner\')具有来自\'/Users//Documents/AndroidStudioProjects//ios/Pods/FBSDKCoreKit/XCFrameworks/FBSDKCoreKit.xcframework/ios-arm64/FBSDKCoreKit.framework\'的复制命令到 \'/Users/<我的名称/Library/Developer/Xcode/DerivedData/Runner-bczatismiambuefczuntppsiskse/Build/Products/Debug-iphoneos/Runner.app/Frameworks/FBSDKCoreKit.framework\'

\n

该命令取决于目标\'Runner\'(项目\'Runner\')中的命令:脚本阶段\xe2\x80\x9c[CP] Embed Pods Frameworks\xe2\x80\x9d

\n
\n

我还没有添加任何新的软件包、pod、插件……就在我的 iOS 和 Mac OS(和 XCode)更新之后,我收到了这个错误。

\n

我已经检查了这个 stackoverflow 问题,这对我没有帮助。

\n

错误消息提到了\xe2\x80\x9c[CP] Embed Pods Frameworks\xe2\x80\x9d这里是Build PhasesXCode 中的屏幕截图:

\n

在此输入图像描述

\n

这是我的 XCode 中“构建阶段”>“复制捆绑资源”部分的屏幕截图(如果有的话)。(Info.plist里面没有)

\n

在此输入图像描述

\n
\n

我的 Pod 文件:

\n
# Uncomment this line to define a global platform for your project\nplatform :ios, \'13.0\'\n\n# …
Run Code Online (Sandbox Code Playgroud)

xcode ios fbsdk flutter

5
推荐指数
1
解决办法
1174
查看次数

Flutter:webview_flutter 在 iOS 上仅显示空白(白色)

我让它在 Android 上工作,WebViewWidget正确显示 html 内容,没有问题。

对于 iOS,它仅显示空白/白色。我尝试了网上人们建议的方法,即在 Info.plist 中添加几行,允许 iOS 中的 WKWebView 加载并显示 http(不安全,不仅仅是 https):

<key>io.flutter.embedded_views_preview</key>
<string>YES</string>
<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
  <key>NSAllowsArbitraryLoadsInWebContent</key>
  <true/>
</dict>
Run Code Online (Sandbox Code Playgroud)

(^^我真的不知道这些行各自的作用)
(^^我也尝试过小写“ yes”并<true/>作为第一行的值)

我跑了flutter clean,然后flutter pub get删除了 Podfile.lock,跑了pod install很多次(在 ios 文件夹中),但我仍然无法在 iOS 上的 webview 中显示内容(它适用于 Android),只有空白区域html 内容应该出现。

值得一提的是,我既不从 http 也不从 https 获取 html,但我加载一个字符串(即 html)并将其设置如下:

String text = ...
await _controller.loadHtmlString(text);
Run Code Online (Sandbox Code Playgroud)

有没有办法欺骗 iOS 认为 html 来自 https?


这些是我在控制台中看到打印出来的一些常见消息(不是红色,只是常规颜色),并且我仅在从 android studio 运行应用程序时收到这些消息,而不是 XCode(在真正的 iOS 设备上): …

webview ios wkwebview flutter webview-flutter

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