问题标签 [ios-background-mode]
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.
xamarin.ios - 当应用程序在 Xamarin iOS 中处于后台时,本地通知不显示
我已经在我的 Xamarin.IOS 应用程序中实现了聊天功能,因为无法从服务器端发送远程通知,我使用本地通知来提醒用户新的传入消息。在模拟器中一切正常,我可以看到通知显示在前台和后台模式中。
但是当我在设备上运行应用程序时,通知仅在前台模式下工作。当应用程序在后台时,不会显示通知。
在调查了这个问题后,我发现当应用程序在调试模式下运行时它们工作正常(即从 VisualStudio 启动并且电缆仍然连接)。但是一旦我断开电缆,它们就不会再显示了。
我发现了一些帖子https://stackoverflow.com/a/35029847这表明这一行可以解决问题,但由于处理程序不能再为空,它不会起作用。
application.BeginBackgroundTask("showNotification", expirationHandler: null);
所以我在我的应用程序委托中实现了以下代码,但它仍然无法正常工作
我还尝试了 Background fetch 并在 AppDelegate 的行下方添加,但它不起作用。 application.SetMinimumBackgroundFetchInterval(UIApplication.BackgroundFetchIntervalMinimum);
安排本地通知代码
//注册通知
//分配委托
//通知委托
我也尝试在我的聊天控制器上从 BeginBackgroundTask 调用调度通知功能,但它不起作用
该问题类似于本地推送通知在 Xamarin iOS 中不起作用,但没有可用的解决方案。
swift - 恢复进入后台模式的外围 BLE 服务
我创建了一个应用程序,它是在我的 iPhone 上运行的 ble 外围设备。这个外设是广告,集成了服务和特性。使用 nrfConnect 或其他可扫描应用程序,只要我的应用程序处于前台,我就可以连接并查看所有创建的服务/特征。为了启用后台模式,我遵循了官方文档:https ://developer.apple.com/library/archive/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothBackgroundProcessingForIOSApps/PerformingTasksWhileYourAppIsInTheBackground.html
今天,当我手动杀死应用程序时,后台模式工作,我可以看到我的外围设备(没有他的本地名称,因为 iOS 删除了它,但我可以识别 nrfConnect 给出的 mac 地址)。我的问题是当我在应用程序被终止并处于后台模式时尝试连接到外围设备时。所有服务都不见了!!willRestoreState
Apple 的文档解释说,我们可以使用委托方法在后台恢复服务,并CBPeripheralManagerRestoredStateServicesKey
在初始化CBPeripheralManager
. 我做了所有这些步骤,但服务没有恢复......如果有人有想法?
这是我的AppDelegate
文件的完整代码:
swift - Swift - 后台蓝牙写入特性
我正在使用 Swift 5 开发一个应用程序,该应用程序连接到一个可穿戴设备来测量身体信息(温度、心率等)
为了测量这些信息,我必须在设备的一个特征中编写一个数据对象(并在激活通知的情况下接收其他特征中的信息),现在我必须每 30 分钟测量一次,所以我必须创建一个计时器每 30 分钟重复一次以执行 BLE 特性中的“写入”。(功能中的所有选项都已激活 - 蓝牙中心、蓝牙外设、后台处理、后台获取)
我在 Stack Overflow 中阅读了很多主题,有人说您不能在后台写入 BLE,而其他人则说您可以。
在实现我读过的所有可能性之前:可以每 30 分钟执行一次任务以连接到设备,将通知设置为 true 到一个特征,并在后台模式下将数据对象写入一个特征?
如果响应为“是”,除了已经在前台工作的相应蓝牙方法之外,我是否必须实现任何代码?
我没有附加我的 BLEManager 类(centralManager),因为它是 Apple 文档中的“标准”,但如果您需要,请询问我,我会附上它。
ios - 后台 BLE 扫描不适用于 xamarin.ios
应用程序在前台模式下扫描 BLE 设备(Mokobeacon)。扫描、连接和断开在前台运行良好。this.manager.ScanForPeripherals(CBUUID.FromString("FF01"))
使用方法和可用设备进行扫描void DiscoveredPeripheral(object sender, CBDiscoveredPeripheralEventArgs args)
。但是当应用程序在后台时扫描不会启动,当应用程序进入前台时,扫描工作并DiscoveredPeripheral
点击,连接和断开连接将工作。我正在使用 iphone 13.6 。info.plist 中也启用了背景选项(蓝牙中央和外围设备)。扫描适用于 android 的两种模式;没有问题。ios有什么限制不能在后台扫描吗?帮助表示赞赏...
ios - How to handle a voice call using WebRTC in background in iOS Swift
I'm working on an iOS Swift project in which I need to implement a video call using WebRTC. I implemented and is working on the foreground mode. But when I close the app, the call gets disconnected. How to handle the voice call in background mode also. Please help me. I didn't work on the background mode.
ios - 如何自动连接 CBPeripheral(带有 iBeacon + 蓝牙芯片的 BLE 设备)并且应用程序未运行
我有一个智能门解锁硬件设备,它同时充当 iBeacon 和 CoreBluetooth 外设!
我的要求是当我的应用程序第一次启动时,应用程序将开始监控 iBeacon 区域,当用户的距离小于 10 米时,应用程序应该开始使用特定的 CBService 扫描 BLE 外围设备。
当用户进入 0.5 米距离内时,应用程序应自动连接扫描到的 CBPeripheral 设备并处理开门操作。
您可以想象它,因为当您离建筑物入口更近(约 10 米远)并开始扫描最近的蓝牙硬件时,应用程序将被激活。当您到达入口时,通过执行一些蓝牙操作,门将自动打开。
谁能帮助我如何使用 CoreBluetooth 技术实现类似的行为?
这个应用程序也应该在后台模式下工作。
到目前为止我所做的是,开始了 iBeacon 区域监控和回调
我的蓝牙管理器收到关于
现在,当距离小于 0.5 米时,如何使用 iBeacon 和 Discovered Peripheral 进行映射并与 Peripheral 自动连接。
简而言之,我的手机应该用作身份验证和考勤管理的 RFID 卡
我想实现以下视频中显示的类似行为: https ://www.youtube.com/watch?v=Y6XlVE7UKp0
ios - 应用进入后台时避免外接显示器显示原生 iOS 屏幕
当连接第二个屏幕时,我的应用程序有一个外部显示器。它显示了我希望人们在我浏览其他视图时看到的主要内容。它工作正常。
当应用程序进入后台时,有没有办法让这个外部显示器保持活动状态?
我在功能选项卡中启用了后台模式,我能够在后台运行代码,当我再次进入前台时它会正确刷新。
ios - 在 Swift 中强制关闭 iOS 应用程序时保存录音
我有一个要求,如果正在进行录音并且如果用户滑动应用程序或强制关闭应用程序,则录音应自动保存在本地存储中。以下是我正在处理的两种情况:
1-录制没有任何中断,这意味着没有连接:它只是录制并停止录制。
2-在这种情况下,我们有两个录音,停止,听录音,再次录音到同一个文件中,然后继续录音。我们必须使用 AVAssetExportSession 对场景中的音频块进行连接,这对于冗长的音频来说很耗时。
对于第一种情况,我可以在应用程序强制关闭时保存音频,但对于第二种情况,由于导出会话总是需要时间来处理冗长的音频,我无法保存音频。处理第二种情况的最佳方法是什么?我们可以在 iOS 中运行一个后台服务,即使应用程序被强制关闭并在工作完成后自动杀死它自己也能运行?
avcapturedevice - 当应用程序进入后台时,如何保持我的闪光灯代码运行?
我试过gos:.userInteractive
, userInitiated
,utilities
但background
它似乎不起作用。任何人都可以让我知道出了什么问题?