标签: phonegap

检查设备Chrome自动重新打开/重新加载

我目前正在使用chromes Inspect Devices来调试我的phonegap应用程序.

但是,每次我构建应用程序并部署到我的手机时,我都会收到以下消息:

脱离目标等

在此输入图像描述

是否可以让Chrome自动重新加载,因此我无需继续打开

Settings -> More Tools -> Inspect Devices

android google-chrome device cordova phonegap

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

Ionic - 在Windows上为IOS构建(适用于最新的IOS和Ionic)

我成功构建了我的Android应用程序,但对于Windows用户来说,IOS自然并不那么简单.

以前在不同版本的不同时间曾经多次询问过这个问题,但我很想知道是否有关于这个问题的最新信息.

这是一个有很多答案的老话题:https://forum.ionicframework.com/t/how-to-build-app-for-iphone-without-mac/19929/19

我正在使用离子3并且我想为最新的IOS构建,我的PC OS是Windows 10.Ionic是否提供了使这个过程更容易的任何方法?

我知道在最新的IOS中,苹果开发帐户不再是测试的要求.如何在没有测试的情况下测试?(也许只有在使用MAC时才有可能?)

如何在Ionic中使用PhoneGap Build? https://build.phonegap.com/apps

它需要Apple应用程序证书和密钥才能构建.

我应该手动创建一个config.xml吗?https://github.com/phonegap/phonegap-template-hello-world/blob/master/www/config.xml

ios cordova ionic-framework angular phonegap

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

非常奇怪的 Cordova/Phonegap JSON 错误:JSON 中位置 0 处出现意外标记

所以过去几周我一直在开发一个应用程序。我从来没有弄乱过任何 json 文件。今天我尝试运行我的应用程序,它显示了 Cordova 的一个非常奇怪的错误,错误:

Error: Unexpected token   in JSON at position 0
Run Code Online (Sandbox Code Playgroud)

令牌是“”?它是哪个 JSON 文件?我检查了所有主要的 Json 包文件,所有这些文件都以第 0 个标记作为“{”开始。

我完全迷失了,我什么也没做,我没有添加插件或其他东西,那天它就突然出现了。我不知道要在此处附加哪些 json 文件,项目目录中有数十个文件。任何想法或方向都会非常有帮助,谢谢。

json cordova phonegap

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

无法更新任何插件,而不是有效的cordova平台?

我尝试使用mac os终端更新cordova中的任何插件时遇到问题.当我尝试运行命令时,cordova plugin add xxxxxxx它告诉我我的android/ios都不是有效的cordova平台.

我的节点版本是v9.2.0,NPM版本是5.5.1,Cordova版本是7.1.0.我对如何进行感到茫然.谁能提供一些见解?

 ?  steve git:(master) ? cordova plugin add https://github.com/danwilson/google-analytics-plugin.git
 Installing "cordova-plugin-google-analytics" for ios
 Unable to load PlatformApi from platform. Error: Cannot find module '/Users/rsteve/Desktop/steve/platforms/ios/cordova/Api.js'
Failed to install 'cordova-plugin-google-analytics': Error [ERR_UNHANDLED_ERROR]: Unhandled error. (The platform "ios" does not appear to be a valid cordova platform. It is missing API.js. ios not supported.)
at EventEmitter.emit (events.js:140:19)
at EventEmitter.module.exports.emit (/usr/local/lib/node_modules/cordova/node_modules/cordova-common/src/events.js:71:17)
at Object.getPlatformApiFunction (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/util.js:500:20)
at Object.getPlatformApi (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/platforms/platforms.js:55:25)
at handleInstall (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:593:29)
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:357:28
at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:787:54)
at self.promiseDispatch.done …
Run Code Online (Sandbox Code Playgroud)

android ios cordova phonegap

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

phonegap javascript html获取请求

我正在尝试通过电话间隙应用程序向我的网站发送http get请求.以下代码使用chrome在我的笔记本电脑上完美运行,但一旦转换为应用程序它就不再有效.特别是,phonegap编译代码很好,并给我一个完美的.apk文件,但只有文本"qwer"被放到屏幕上.这是代码:

<p id="output"></p>

<script>

    var theUrl = "https://example.com"

    var xmlHttp = new XMLHttpRequest();
    xmlHttp.onreadystatechange = function() {
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
            document.getElementById("output").innerHTML = xmlHttp.responseText + "qwer"
    }
    xmlHttp.open("GET", theUrl, true); // true for asynchronous
    xmlHttp.send(null);


</script>
Run Code Online (Sandbox Code Playgroud)

请注意,当您执行get请求时,我的网站当前返回"asdf"

我在chrome中运行它时得到的输出是这样的:

asdf qwer
Run Code Online (Sandbox Code Playgroud)

但当它作为Android应用程序运行时,我得到这个:

qwer
Run Code Online (Sandbox Code Playgroud)

另外我想提一下,我已经阅读了所有这些,但没有一个特别有帮助:

在手机间隙运行https请求
https请求在phonegap-iphone应用程序中不起作用 想在iphone上的phonegap应用程序中使用https请求

当请求来自应用程序时,get请求似乎返回一个空字符串,因为没有抛出任何错误,并且它允许我将字符串添加到一起.

我想知道如何解决这个问题,以便我在应用程序表单中工作.我怀疑有某种内置的phonegap功能来做这种事情.

谢谢

编辑:

我在服务器端处理过CORS.我在heroku上使用python.这是我的代码:

#!/usr/bin/env python
import gevent.monkey
gevent.monkey.patch_all()
import bottle
import os
@bottle.route('/')

def index():
    bottle.response.set_header("Content-Type", "text/turtle")
    bottle.response.set_header("Content-Location", "mydata.ttl")
    bottle.response.set_header("Access-Control-Allow-Origin", "*")
    return("asdf")

bottle.run(server='gevent', host='0.0.0.0', port=os.environ.get('PORT', 5000))
Run Code Online (Sandbox Code Playgroud)

如果我需要做其他事情来解决它,请告诉我

javascript phonegap

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

Cordova/PGB应用程序在恢复后冻结

我正在开发一个带有PGB(cli-7.1.0)的混合应用程序.几个星期后,应用程序在iOS(11.3)之后冻结,然后回到前台 - 不是每次都有,但有时候.javascript继续运行并且不会抛出任何错误,但不再触及任何元素.似乎所有事件处理程序都停止工作.滚动也不再可能.

设备日志中没有javascript错误也没有错误,所以我有点卡住了.

有没有人有想法,如何解释这种行为?

提前致谢.:)

解:

事实证明iOS 11.3和js-Fastclick现在不兼容.有一个解决所有问题的分支:https://github.com/lasselaakkonen/fastclick/tree/fix-ios-11-3-event-timestamps

以防有人遇到同样的问题.

cordova phonegap-build phonegap

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

如何在 Angular 加载其模块之前获取异步数据

我正在尝试将变量注入到forRoot({[...]})Angular 模块的方法中。

我以异步方式获取了这个变量,所以我尝试引导 Angular之前获取它。(它来自cordova.js

问题:

似乎 Angular 在引导之前导入模块(并调用“forRoot”方法)。

有没有办法实现这一目标?

谢谢 !


我尝试过的一个例子:

app.module.ts

import {NgModule} from '@angular/core';
import {AgmCoreModule} from '@agm/core';

@NgModule({
  imports: [
    AgmCoreModule.forRoot({
      apiKey: window['device'].platform, // value is 'null' instead of 'browser' or something else
      libraries: ['places']
    })
  ],
  // [...]
  bootstrap: [AppComponent]
})

export class AppModule {
}
Run Code Online (Sandbox Code Playgroud)

src/main.ts

import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

import { AppModule } from './app/app.module';
import { …
Run Code Online (Sandbox Code Playgroud)

module cordova angular phonegap

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

解决 IOS 13 的cordova 应用程序上的非阻塞功能问题(警报/确认)

我有一个在 iPad 上运行的cordova应用程序,最近我在新的IPadOS 13+上出现了一个非常奇怪的行为。

一些应该阻止代码流并等待用户输入的 javascript 本机函数(如 window.alert 或 window.confirm )不再这样做。因此,整个应用程序功能都会受到影响。

例如:

if(confirm("Are you sure ?"))
{
    ... // This block is not waiting for user input and executing straight away.
} 
Run Code Online (Sandbox Code Playgroud)

或者

// ... some normal program flow

alert('anything here'); // Normally the program should wait for the user to press 'OK' button.

// ... rest of the code that doesn't wait for the alert to be closed
Run Code Online (Sandbox Code Playgroud)

这对整个应用程序来说很麻烦,你知道有什么解决方案吗?或任何可以帮助的东西?我也无法再将 ios 版本降级回 12。

附注。我不确定,但这可能是 IOS 13 的 safari webview 版本的错误吗? …

javascript cordova sfsafariviewcontroller phonegap ios13

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

如何将缺少的引用标头添加到 Cordova IOS 应用程序

我正在使用 Cordova 构建 iOS 应用程序。我使用Ionic 引擎,这意味着该应用程序由设备上运行的网络服务器提供服务。

我的window.location.origin是“ionic://my-app.com”。

第三方 API(我需要使用它来根据用户键入的内容获取地址建议)拒绝我的 HTTP 请求,因为referrer请求中缺少标头。

无法以编程方式从 JS 层添加引荐来源网址,并且这些不起作用:

  • <meta name="referrer" content="origin">

  • <meta name="referrer" content="always">

我怀疑问题在于 API 正在使用https,而我的 iOS 应用程序正在使用自定义方案(默认方案是ionic://且无法更改为 https)。因此,WebView 不会添加引用标头。

我该如何解决这个问题?

ios cordova hybrid-mobile-app ionic-framework phonegap

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

与元素类型“uses-permission”关联的属性“tools:node”的前缀“tools”未绑定

我正在尝试为 Google Play 构建我的 Apache Cordova 应用程序,尽管我包含了xlmns:tools. 我已经尝试了互联网上的所有解决方案,但仍然出现此错误!哪里有问题?

我的代码:

<widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    id="com.mypackage" versionCode="1.8.4" version="1.8.4">  

 <config-file target="AndroidManifest.xml" parent="/manifest">
...     
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" 
      tools:node="remove"/>
...
</config-file>
</widgets>
Run Code Online (Sandbox Code Playgroud)

cordova phonegap-build phonegap

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