天道酬勤,学无止境

cordova

How to run iPhone as a beacon in background in both xcode(swift) and phonegap

问题 我设法创建了一个将手机变成信标发射器的应用程序。 它在 xcode (Swift) 和 phonegap 上运行良好。 对我来说,下一步是让它在后台作为信标工作(我正在为 iOS 10 开发)。 我在网上发现了与此类似的问题,但所有这些问题都已过时,即旧的 ios、objective-C 和过时的插件 如果有人可以为我提供一个工作示例或指导我对 xcode s(wift) 和 phonegap 的代码进行哪些更改,我将不胜感激 Xcode(斯威夫特 3) import UIKit import CoreLocation import CoreBluetooth class ViewController: UIViewController,CLLocationManagerDelegate,CBPeripheralManagerDelegate,UITextFieldDelegate{ var locationManager = CLLocationManager() var startLocation: CLLocation! var localBeacon: CLBeaconRegion! var beaconPeripheralData: NSDictionary! var peripheralManager: CBPeripheralManager! override

2022-05-15 16:11:34    分类:技术分享    ios   swift   cordova   phonegap-plugins   ibeacon

Cordova geolocation plugin doesn't work on android

问题 我正在使用 cordova 地理定位插件在 android 上显示纬度和经度。 有很多与此相同的问题,因此我阅读并尝试了他们的解决方案,但无法解决问题。 下面的代码在浏览器上完美运行。 我尝试了 3 种方法,首先:“navigator.geolocation.watchPosition”在模拟器(Android Studio)中返回错误结果(37.42,-122.08),并且在设备中不返回任何内容。 我还尝试了将“enableHighAccuracy”设置为“true”和“false”的“navigator.geolocation.getCurrentPosition”,我收到了超时错误警报。 当我删除设备就绪时,我没有得到超时,只是所有三种方法的错误结果。 (function (window) { document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { var minAccuracyInMetres = 50; var positionWatcher; positionWatcher = navigator.geolocation.watchPosition( geolocationSuccess2, geolocationError2, {

2022-05-15 11:11:26    分类:技术分享    javascript   cordova   geolocation

Touch events not working on ios build of cordova app(Touch events not working on ios build of cordova app)

问题 我有一个非常简单的科尔多瓦应用程序,它是默认科尔多瓦“设备就绪”模板的扩展。 它有一个按钮,附有一个简单的点击事件。 从这里可以看出在 iOS 模拟器上运行。 以下是我的项目的代码 索引.html <html> <head> <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *"> <meta name="format-detection" content="telephone=no"> <meta name="msapplication-tap-highlight" content="no"> <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> <link rel="stylesheet" type="text/css" href="css/index.css"> <title>Hello World<

2022-05-15 09:00:04    分类:技术分享    ios   xcode   cordova   ios10   cordova-ios

Get Firebase event Params for cordova ionic app

问题 我使用 Ionic 2 来创建我的应用程序,我也在使用 cordova-plugin-firebase 进行分析。 该插件运行良好,我在我的 firebase 仪表板中看到了事件。 但是我看不到我发送的事件参数。 如插件文档中所述,我使用以下代码记录事件和事件参数。 window.FirebasePlugin.logEvent("page_view", {page: "dashboard"}); 通过 Firebase 文档,提到事件参数不会直接显示,但应该在设置“受众”后出现 自定义参数:自定义参数不会直接显示在您的 Analytics 报告中,但它们可以用作受众定义中的过滤器,可以应用于每个报告。 如果您的应用与 BigQuery 项目相关联,则自定义参数也会包含在导出到 BigQuery 的数据中。 我在这里找到了设置受众的方法。 但我无法弄清楚我们如何设置它们。 感谢您在这方面的任何帮助。 回答1 不要忘记,Firebase for Ionic 还很年轻(0.1.17)。 我和你有同样的问题,也许插件没有发送“value”参数。 Firebase 文档还说: 自定义参数包含在BigQuery中。 您可以在分析 > 事件中激活它。 我还没有测试过这种方式。 铜 插件:https://github.com/arnesson/cordova-plugin-firebase

2022-05-15 08:17:04    分类:技术分享    android   cordova   firebase   google-analytics   firebase-analytics

click event still triggered underneath div

问题 这是我正在构建的 PhoneGap 应用程序,我正在笔记本电脑上进行测试,然后使用 PhoneGap cli 在 iphone 上进行测试。 我有一个记录点击事件的 openlayers 3 地图。 当菜单显示时,我还有一个 div 会掩盖整个地图。 这个想法是,当这个掩码 div 被点击/点击时,它会隐藏自己,但下面的地图不会注册点击事件。 正在发生的事情是地图正在注册点击事件,因此掩蔽 div 被隐藏,但地图随后做了其他事情,因为它被点击了,除了它不应该有! 我已将我的代码简化为细节。 这是没有和显示菜单和掩码 div 的两个屏幕截图。 右下角的按钮是打开菜单的按钮( .layers_menu_button )。 这会侦听屏蔽 div ( #net_curtain2 ) 上的点击/点击,然后将其隐藏(请注意,注释掉的传播是我尝试在此处停止点击/点击事件,但它没有任何区别)。 根据我正在测试的内容, interaction_type被定义为click或touchend 。 $(window).on("load", function() { $(document).on(interaction_type, "#net_curtain2", function(event) { // event.stopImmediatePropagation(); hide_layers

2022-05-15 02:49:12    分类:技术分享    javascript   jquery   cordova   openlayers-3

Getting Data From Another AngularJS Controller

问题 所以我对 Ionic/Cordova/AngularJS 的开发还是很陌生。 现在我有 2 个控制器,“组”和“事件”。 我的目标是创建一个组并在单独的页面上创建一个事件。 创建组后,我希望用户能够在其“创建事件”屏幕中选择该组。 但是,我就是无法让我的小组出现。 我认为我的 HTML 选项字段中的一个简单的 ng-controller 选项可以做到这一点,但这似乎是不可能的。 我尝试将所有东西都放在同一个控制器中,这很有效,但这很容易变得非常混乱。 谁能告诉我如何实现这一目标? 谢谢! <label class="item item-input item-select"> <div class="input-label"> Group </div> <select ng-model="event.groupname"> <!-- this is in my eventscontroller--> <option ng-repeat="group in groups">{{group.name}}</option> <!-- these groups are in GroupsController, this doesn't work --> </select> </label> 回答1 <label class="item item-input item-select"

2022-05-15 02:30:04    分类:技术分享    javascript   angularjs   cordova   ionic-framework

Phonegap android allow specified domains not restrict other

问题 所以这是一个问题 Phonegap android允许指定域不限制其他 我设置了 config.xml <plugin name="cordova-plugin-whitelist" spec="https://github.com/apache/cordova-plugin-whitelist.git" /> <allow-navigation href="http://domain.net/*" /> <access origin="http://domain.net" browserOnly="true" /> 但是 webview 仍然可以打开其他域。 它在 iOS 上运行良好,但在 Android 上运行良好。

2022-05-15 01:53:11    分类:技术分享    cordova

Setup for Ionic Cloud using FCM now that GCM not available for new projects

问题 我在尝试启用 GCM 时注意到它已被 FCM 取代。 因此,经过一番搜索,我发现phonegap-plugin-push有一个用于 FCM 的 2.x 版本,我使用最后一个提交哈希安装了它,但我不知道如何在 Google Cloud Platform 上为 Ionic 启用 FCM应用。 您使用网络设置吗? 似乎只在描述中谈论 Google Chrome,然后它解释了如何将 Firebase 添加到 Android 应用程序,但我正在尝试使用 Ionic 框架来做到这一点。 有没有人创建了一个新项目并被迫使用 FCM,并且可以提供一些帮助? 它似乎是唯一缺少的部分,因为在遵循文档并将 Ionic Cloud 初始化添加到配置块,然后在运行块中注册令牌后,我似乎在应用程序启动时收到了一个令牌,但没有从 Ionic 发送通知Cloud 的仪表板在 $scope 事件中被接收或捕获。 回答1 回答2 现在有一个用于 FCM 的 cordova 插件。 https://github.com/fechanique/cordova-plugin-fcm 不幸的是,至少对我来说,并且从我在 github 上的问题中可以看到,在应用程序关闭/在后台接收通知时,回调似乎没有触发一些问题。 您确实收到了通知,但您无法对数据做任何事情,这很重要。 Phonegap-Push 插件目前正在集成

2022-05-14 23:11:05    分类:技术分享    cordova   ionic-framework   push-notification   firebase-cloud-messaging

Is ROWID in SQLite automatically set?

问题 所以,我在 Ionic 上有这个应用程序,它使用 SQLite ngCordova 插件进行内部存储。 在它上面,我使用以下命令创建一个表: db.executeSql( "CREATE TABLE IF NOT EXISTS Scans_table (" + //"id TEXT PRIMARY KEY NOT NULL," + "name TEXT NOT NULL," + "comment TEXT, " + "text TEXT NOT NULL, " + "format TEXT NOT NULL, " + "dateTaken TEXT NOT NULL, " + "imgSource TEXT NOT NULL)", ... ); 据此,如果我没有作为主键和整数的列,则应将 ROWID 设置为唯一标识符。 问题是,当我使用简单的SELECT * ...查询表时,我看到了我设置的所有行,而不是 ROWID。 是否有不同的方法来设置/检查 ROWID? 回答1 如文档中所示,您的表确实有一个内部rowid列。 但是,如果您的表的列列表不包含此列的别名(即 INTEGER PRIMARY KEY 列),则rowid列不包含在SELECT *中。 您可以在 SELECT 子句中添加列: SELECT rowid, * FROM Scans_table ... 但是

2022-05-14 19:57:04    分类:技术分享    android   cordova   ionic-framework   sqlite

Upload failed: You need to use a different version code for your APK because you already have one with version code

问题 情况: 如果这个问题已经被问了三遍,请提前道歉。 但是这些解决方案都不适合我。 我需要将新版本的 Ionic 应用程序上传到 Google Play。 上传过程一直运行良好,但这次我收到此错误: You need to use a different version code for your APK because you already have one with version code 101078. 出版过程: 我没有使用 Android Studio。 要发布应用程序,我只需通过命令行构建和签署应用程序,然后将其上传到 Google Developer Console。 对于新版本,我只是在创建 apk 之前更新 config.xml 中的版本号。 应用程序版本: 旧版本:(Google Play 发布状态)1.1.7 代码版本:101078 新版本:(尝试上传到Google Play)1.1.10 尝试解决: 我试图手动将代码版本设置为更高的数字。 目前我在./config.xml中有这个设置: <widget id="com.myapp.myapp" version="1.1.10" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 在文件

2022-05-14 18:39:09    分类:技术分享    android   cordova   ionic-framework   google-play   apk