来自 Cordova iOS 插件的后续回调不会触发

2023-12-29

我在从 cordova 插件(iOS 插件)立即触发后续回调时遇到麻烦。 在 XCode 调试器中,我清楚地看到它跳过了

[self.commandDelegate sendPluginResult:pluginResult callbackId:monitoredRegions.callbackId];

多次(立即连续),每次都略有不同pluginResult。 这会被触发

[locationManager requestStateForRegion:region];

我无法(也无法)控制。

问题是,在 Javascript 方面,回调仅被触发一次。

什么(实际上不是那么)奇怪的是,如果我在该回调中引入一些阻塞,例如alert(),回调被触发多次(如预期)。这很酷,但我不需要任何alert()在应用程序中。

如果我理解的话,commandDelegate应该处理线程和队列,但似乎没有。问题是,如何让 JS 每次回调被触发sendPluginResult被叫。

非常感谢!


所以,问题不在于线程/队列。

事实证明,您可以使用callbackId只有一次unless你告诉科尔多瓦不要清理它callbackId通过设置CDVPluginResult.keepCallback to true。请注意keepCallback不是一个BOOL财产,所以你可能需要打电话[pluginResult setKeepCallbackAsBool:YES];

CDVPluginResult* pluginResult = [sendPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:key];
[pluginResult setKeepCallbackAsBool:YES]; // here we tell Cordova not to cleanup the callback id after sendPluginResult()
[self.commandDelegate sendPluginResult:pluginResult callbackId:monitoredRegions.callbackId];

使事情变得混乱的是,如果你引入像这样的阻塞调用alert()在该回调中,Cordova 将让您连续进行多个sendPluginResult与相同的callbackId.

请记住,您可能需要sendPluginResult with a CDVPluginResult which keepCallback is false释放callbackId你不再需要了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

来自 Cordova iOS 插件的后续回调不会触发 的相关文章

  • Swift:使用元组在单个 switch-case 中使用多个间隔

    有这样的代码 switch indexPath section indexPath row case 0 1 5 println in range default println not at all 问题是我可以在第二个元组值中使用多个间
  • 关于将 Objective C 代码添加到 swift 动态框架的澄清

    我有一个 swift 动态框架 当前正在链接到另一个用 Objective C 编写的框架 这可以工作 但很烦人 因为 Objective C 框架实际上只有 2 个文件 我想知道是否有办法将其带入我的 swift框架 如果这是我会使用的应
  • 如何在 iOS 企业帐户中创建开发人员配置文件请求?

    我们有 iOS 企业帐户 现在我们想要向我们的团队添加一名开发人员 该开发人员将创建一个开发人员配置文件 问题是新添加的开发人员在他的苹果帐户中看不到配置文件标签 任何人都知道新添加的开发人员如何创建配置文件 感谢您 Steps 您可以通过
  • iOS7上UITableViewCell显示白色背景且无法修改

    我已经实现了一个继承自的自定义表格视图单元格类UITableViewCell 表格视图包含背景图像 所以我希望单元格的背景是透明的 iOS7之前看起来很棒 然而 在 iOS7 中 单元格始终显示为白色背景 即使对于 Xcode7 2015
  • GoogleMobileAds iOS 9 链接错误

    我按照以下步骤操作this https firebase google com docs admob ios quick start 由于我在安装 cocoapods 时遇到问题 我手动下载了 SDK zip 将其添加到项目中 它编译得很好
  • 在 Xamarin 中读取 iOS 的相机权限

    我有一个用 Xamarin 开发的 iOS 应用程序 当应用程序没有访问麦克风的权限时 如果用户尝试从应用程序访问麦克风 我会使用以下命令检查设置AVAudioSession SharedInstance RequestRecordPerm
  • 快速以编程方式打开 viewController

    我想通过代码在按钮上打开新的 UIViewController 我已经在故事板中制作了控制器 只想链接它 而且我不想使用 XIB 接口或 nibName 要打开新视图控制器 您需要在按钮单击事件中写入以下行 self performSegu
  • iOS 9.3.2 破坏 MPMusicPlayerController

    我正在尝试将 Apple Music 集成到我的应用程序中 直到今天早上我才设法使其完美运行 更新到 iOS 9 3 2 后 一切都不一样了 权限系统的工作原理相同 SK云服务控制器 https developer apple com li
  • 如何在iOS中获得旋转UIView的完美X,Y位置

    我正在使用 CABasicanimation 来旋转 UIView 我正在使用这段代码 CABasicAnimation rotationAnimation CABasicAnimation animationWithKeyPath tra
  • 自定义选项卡栏上的“更多”菜单

    我在我的应用程序上使用选项卡栏 UITabBarController 我希望自定义单击 更多 按钮时出现的表格的外观 我已经研究出如何通过设置来更改更多屏幕上导航栏的外观 self moreNavigationController navi
  • Objective-C 内存管理:发布时崩溃

    我是 Objective C 的新手 似乎无法正确理解内存管理代码 我有以下代码 Media myMedia self myMediaManager getNextMedia self navigationItem title self m
  • 如何读取 IBAction 中的 UITextField 值。我正在以编程方式创建 UITextField

    我怎样才能阅读UITextField值在IBAction 我正在创造UITextField以编程方式 所以我无法设置 property and synthesize使用 Xcode 要生成的代码UITextField如下 for i 0 i
  • 如何使用break语句停止内部和外部循环[重复]

    这个问题在这里已经有答案了 我使用的代码非常简单break内部循环 for int it 0 it lt 5 it for int it2 0 it2 lt 5 it2 if it2 2 break break here not it2 b
  • 在 iPhone 上搜索 PDF

    经过两天尝试使用 Quartz 从 PDF 中读取注释后 我成功做到了并且发布我的代码 https stackoverflow com questions 4080373 get pdf hyperlinks on ios with qua
  • Xcode 8:使用 iOS 9.3 基础 SDK 编译?

    我在 Xcode 8 0 beta 8S128d 中将 iOS 应用程序升级到 Swift 3 0 我以为一切都已准备就绪 并将其上传到 iTunes Connect 当我点击 提交审核 时 它给了我一个包含 26 个错误的列表 每个嵌入式
  • 应用程序:didReceiveRemoteNotification:未调用 fetchCompletionHandler

    出现了这个功能application didReceiveRemoteNotification fetchCompletionHandler当应用程序被强制退出时不会被调用 我的印象是 无论应用程序处于什么状态 该函数都会被调用 但似乎只有
  • 带有 Retina-Tiles 的 MKTileOverlay

    我在 MKMapKit 中加载 512x512px 图块时遇到问题 服务器提供 512x512 jpeg 图块 我在 MKMapView 中找不到自定义视网膜图块的任何解决方案或示例实现 我做什么 当我将它们加载到 MKMapView 中时
  • 在 iOS 中,如何以编程方式填写 pdf 表单字段?

    我需要获取一个现有的 pdf 文件 并以编程方式填写带有文本的表单字段列表 然后保存 pdf 而不将其显示给用户 例如 如果 pdf 文件包含名为 LastName 和 FirstName 的字段 我想将 FirstName 的值设置为 L
  • 如何缩放曼德尔布罗集

    我已经成功实现了维基百科文章中所述的曼德尔布罗集 但我不知道如何放大特定部分 这是我正在使用的代码 void createSetWithWidth int width Height int height Thing void int int
  • 将 MPMoviePlayerController 的视图添加到 UIView

    我想添加MPMoviePlayerController to a UIView 首先 我在 xib 文件中放置了一个视图 名为 youTubeView youtube播放器是MPMoviePlayerController youtubePl

随机推荐

  • 华为或vivo手机如何修复“应用程序感染病毒”

    我用我写的代码做了一个apk 当我使用华为或vivo手机下载apk时 浏览器显示提示 该应用程序感染了病毒 如何修复它 在华为设备中测试我的应用程序时 我遇到了类似的警告 我直接点击继续安装 华为似乎会将所有非应用商店的内容视为病毒 现在我
  • asp.Net MVC 2 应用程序上没有样式/图像

    问候 我的 ASP MVC 应用程序有一个小问题 在我的本地开发服务器上 一切正常 但当我尝试将应用程序发布到 IIS 7 0 服务器时 它只显示没有任何样式 标记 图像的纯页面 我将所有这些内容放在 Content 子文件夹中 但是当我尝
  • 循环文件记录

    我想知道是否有 C 的记录器库可以进行循环文件日志记录 我目前正在研究 log4C 但找不到足够的文档来说明它会进行循环日志记录 如果有人这样做过 请告诉我 Thanks 这是一个例子 这是一个删减版本 在我们的系统中 我们使用 vargs
  • 使用自定义可解码解码 Firestore 结构时获取 DocumentID

    我有以下结构 struct Vehicle Codable Identifiable DocumentID var id String var name String 只要我使用默认的 Swift 解码器 我就可以毫无问题地加载 Fires
  • 使用类路径参数运行 jar

    我可能错过了一些愚蠢的东西 但仍然如此 我创建了一个具有以下内部结构的 jar 文件 folder1 folder2 META INF 资源 其中folder1和folder2包含 class文件 而resources包含txt和png文件
  • 来自主 Gui 模块外部的 PyQt5 中断关闭事件

    我使用 Qt Designer 构建 GUI 并使用 pyuic5 将它们转换为 py 文件 我的最终目标是当变量 1 时中断用户关闭程序并向他们显示 您确定要关闭吗 类型对话框 如果所述变量 0 则正常关闭程序 我见过很多关于如何执行此操
  • C# 访问字段语法

    如果我只有要访问的变量的名称 我将如何访问对象的变量值 在 C 中 假设我有一个变量名称列表 表示为数组中的字符串 例如 我如何循环访问它们 我可以在 Actionscript 中执行类似以下操作 var arrayOfVariableNa
  • 如何从我的 makefile 中调用特定目标?

    a echo 1 b echo 2 c if d somefolder then how do I invoke target b here fi 我如何调用目标b内部目标c 根据我的情况 有点像antcall 如果你熟悉 ant 的话 说
  • 如何在 MiUi pre - Marshmallow 中请求权限?

    int permissionCheck ContextCompat checkSelfPermission mActivity Manifest permission RECEIVE SMS ActivityCompat requestPe
  • 如何确定应用程序中使用了哪些 JAR

    现有应用程序的类路径中有大量 JAR 文件 为了确定起见 最初必须有人添加所有 JAR 有些 JAR 显然没有被使用 我们已经删除了其中一些不需要的 JAR 没有造成任何问题 如何确定哪些 JAR 正在使用 哪些 JAR 不需要 除了试错法
  • Django 性能测试套件将报告指标(数据库查询等)

    我有一个复杂的 Django Web 应用程序 其中投入了很多人年的工作 有时可能需要优化 我可以使用 例如 django 的测试客户端编写几个常见的操作 流程的脚本 是否有一些程序 给定这样的 python 脚本 然后将运行 并报告各种
  • C++ 投掷类成员

    我有以下 C 代码 template
  • 查找数组中的重复元素?

    我看到一个面试题是这样的 数组中有一个数字重复 找到它 简单的解决方案如下 for int i 0 i
  • REST API 的试运行策略

    我正在寻找 REST API 的 试运行 操作的一些最佳实践 假设我有一个端点将资金从账户 A 转账到账户 B 我可以像这样发起转账 POST transactions amount 1000 how much to transfer so
  • jQuery 数据绑定 - 现在流行的插件是什么?

    我需要某种类型的 JS MVC DataBinding 解决方案 与实施 GMAIL Web 应用程序类似 消息索引和消息显示 在消息显示的位置 如果您修改消息 它会自动在消息索引中更新 我应该学习什么插件才能在不使用大量 jQuery 的
  • Tensorflow 中的入队和增量变量

    如何使张量流图将递 增的数字推送到队列 我这样做只是为了学习目的 所以我希望您保持它与我正在做的事情相似 并纠正我做错的事情 这是我的代码 import tensorflow as tf create queue queue tf Rand
  • 通过 attr_accessor 对模型对象进行排序

    当我必须对对象列表进行排序时 我认为 attr accessor 具有与另一个相同的行为 但似乎有所不同 dataRecords MyData where day Time now yesterday strftime Y m d to i
  • 仅禁用自动生成的表单上的特定“绿色加号”图标

    如何在自动生成的表单中禁用特定 manytomany 或 foreignkey 字段上的绿色图标 使用CSS如下 add another display none 禁用所有我不想要的 一个例子是工作日模型 存储从星期一到星期日的天数 指向该
  • Python 的多处理和内存

    我在用multiprocessing imap unordered对值列表执行计算 def process parallel fnc some list pool multiprocessing Pool for result in poo
  • 来自 Cordova iOS 插件的后续回调不会触发

    我在从 cordova 插件 iOS 插件 立即触发后续回调时遇到麻烦 在 XCode 调试器中 我清楚地看到它跳过了 self commandDelegate sendPluginResult pluginResult callbackI