问题标签 [capacitor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
398 浏览

reactjs - 使用 azure 进行身份验证并重定向到电容器后的混合应用程序加载问题

我正在使用 Azure 设置具有身份验证的混合应用程序,我成功通过身份验证并能够发送回重定向 URL 'capacitor://localhost/callback'。一旦我重定向到重定向 URI,应用程序显示一个空白屏幕,并且没有任何内容正在呈现或工作(React-router,react.js)。

索引.tsx

离子电容器.ts

0 投票
1 回答
677 浏览

cordova - 具有科尔多瓦和电容器的 Ionic 4 项目

我正在尝试一个 Ionic 项目,我对当前可用的 Cordova 社区插件感到满意。由于我的应用程序已经在使用 Cordova,因此可以尝试使用电容器,它是否会使现有的构建文件崩溃或有任何不匹配。

0 投票
1 回答
3849 浏览

cordova - Ionic4 watchPosition 和 getCurrentPosition 的地理位置与 Ionic/Capacitor 不准确

我正在使用 Capacitor 构建我的 Ionic 应用程序。我当然想通过 GPS 在地图上显示当前位置的应用程序。

以下代码有效,并为我提供了我想要的地图上的正确标记,但是.. 它远非准确。

标记正在疯狂地四处走动。发生在我测试它的每个位置。它不是在移动几厘米,而是在我的位置周围移动几米……

我错过了什么让我的 GPS 坐标不太准确?我以为enableHighAccuracy: true足够了,但事实并非如此。

0 投票
0 回答
2552 浏览

ios - 使用 Capacitor Filesystem 在 iOS 上写入文件

我正在尝试使用电容器的文件系统插件将 txt 文件永久存储在设备上。它在 Android 上运行良好,但在 iOS 上却不行。

我已经在现有项目中尝试过它,并创建了一个新的离子项目。我在 iPhone X 上的模拟器中运行应用程序

此代码在这两个项目中都不起作用。

调试控制台输出:

在 iOS 上存储文件是否需要满足任何其他要求/配置?我错过了什么吗?(这是第一次在 Mac / iOS 上工作)

PS:我也在尝试cordova-file-plugin,但它也不起作用。

0 投票
2 回答
4843 浏览

ionic4 - Capacitor Camera API 在 Web 上运行时抛出错误

我正在按照电容相机 APi 的说明https://capacitor.ionicframework.com/docs/guides/ionic-framework-app

该插件在 android 设备上运行应用程序时工作正常,ionic capacitor run android -l但在 web 上提供应用程序时出现此运行时错误:

这是我的代码:

我还添加了这些main.ts

有什么我做错了吗,或者这是 Capacitor Camera API 中的错误

0 投票
1 回答
39 浏览

angular - 使用电容器开发跨平台应用程序时,我应该使用 Ionic 还是仅使用 Angular 开发它?

有一个我喜欢构建的软件,以后应该可以作为 Web 应用程序、Android 应用程序、iOS 甚至桌面应用程序运行。Capacitor 承诺仅使用一个代码库即可实现这一目标。现在我要开始编码了,想知道我是把它作为一个 Ionic4 + Angular 项目还是作为一个 Angular 项目开始。

该应用程序将主要用于网络和智能手机。两个平台都很重要。

0 投票
3 回答
13225 浏览

typescript - 如何在 Ionic4 Angular 中使用 Capacitor 保存下载的文件?

我最近将我的 Ionic 4 Angular 应用程序发布为 Web 应用程序和原生 Android 应用程序。
在本机 Android 应用程序中,一切正常,除了保存下载的文件。

为了下载和保存文件,我一直使用file-saver如下 npm 包(这是一个共享服务,每次我必须下载东西时调用,从 PDF 到图像等......):

正如我上面所说,这个代码片段工作正常,但只是当我必须从网络版本中保存一些东西时。

我能找到的唯一在线示例都是关于 Cordova 和/或以前/已弃用的版本。
关于电容器,我刚刚找到了这个文档,并从中找到了这个代码片段:

但问题是我上面的函数返回一个 blob,而这个函数只接受一个字符串作为数据。

那么,在作为 Web 应用程序运行和作为 Android 本机应用程序运行时,是否有任何 Capacitor-Native 等效功能可用于下载(和保存)Blob 文件?


更新

我也尝试了以下方法,但它不起作用:


更新#2

看起来GitHub 上仍有一个关于使用电容器保存 Blob 数据的未解决问题。同时,我将寻找 Cordova 解决方案。或者,如果平台是 android 或 ios,我将简单地禁用每个下载按钮。
如果我能找到一个,我将在这里发布所有有效的 Cordova 解决方法

0 投票
0 回答
836 浏览

configuration - 将 cordova-plugin 配置到电容器环境中

我有一个由离子电容器框架包装的 react-app webapp。我已经在我的代码中使用了很多 cordova-plugins,比如 phonegap-plugin-barcodescanner 或 cordova-plugin-inappbrowser。

我知道我可以使用它们: npm install --save cordova-plugin-pluginName @ionic-native/plugin-name

然后我可以将它们导入到我的 React 环境中: import {PluginName} from @ionic-native/plugin-name

它就像魔术一样工作!

问题是:当我需要使用需要配置的cordova-plugin时,它曾经是cordova add plugin plugin-name --variable var=""

但是在 react-capacitor 环境中,我无法使用它的配置安装插件!我应该稍后以某种方式添加它,通过 androidManifest.xml 或通过 cordova:config.xml。

有人能帮助我吗?多谢...

0 投票
2 回答
605 浏览

vue.js - Jest 使用 Ionic Capacitor 插件导入测试 Vue 单文件组件

该问题的GitHub 存储库

我正在使用 Vue 和 Capacitor 构建一个 Ionic 应用程序。我正在使用 vue-test-utils + Jest 设置单元测试。开玩笑的单元测试在尝试将 Capacitor 插件导入 Vue 单文件组件时失败。

Vue 应用程序是使用 Vue CLI 3 (v3.4.0) 创建的。CLI 选项包括使用 Jest 进行单元测试。我完全是单元测试的新手。在导入 Vue 组件之前,我曾天真地尝试过模拟 @ capacitor /core 模块;这没有帮助。

jest.config.js(Vue CLI 默认)

我的组件.vue

MyComponent.spec.js

我希望测试能够顺利运行。相反,当 Jest 尝试在规范文件的第 2 行导入组件时,我收到以下错误消息:

Plugins在第 36 行未定义,因此第 37 行在尝试对其进行解构时会抱怨Filesystem

然而,在浏览器中,Filesystem对象如下:


我不知道问题出在哪里。我不知道我是否应该对 Jest 做一些不同的事情,我不知道我是否不应该像在某些示例中看到的那样直接在 Vue SFC 中导入 Capacitor 插件,或者...‍♂️。

0 投票
0 回答
305 浏览

java - Android studio Capacitor项目Gradle报错

当我尝试打开一个电容器项目 (我使用它来创建启动画面:https ://www.joshmorony.com/creating-a-dynamic-universal-splash-screen-for-capacitor-android/ )时,
我面临 Gradle 错误:

错误:Gradle 4.10.1 需要 Java 7 或更高版本才能运行。您当前使用的是 Java 6。

所以我尝试下载许多 java jdk 版本但没有运气

并且 SDK(项目结构 -> SDK 位置)设置为:

之后我重新启动了很多次,但没有运气......我需要帮助!

构建.gradle

android studio gradle 错误