iOS 应用需要拨打 IVR 电话才能完成验证。用户接听电话并返回到应用以继续。这在早期工作正常,但是,最近当用户从电话切换到应用程序时开始出现网络连接丢失错误。我正在使用标准的 NSURL 功能进行服务调用。应用使用 Soap 服务启动 IVR 呼叫并返回成功/失败响应。错误日志:
[连接]nw_read_request_report[C2]接收失败,错误软件导致连接中止
工作
在 iOS 13 及更高版本上对此进行了测试。似乎操作系统正在断开网络连接一段时间,并且应用程序无法收到Web服务的响应。
这里并不神秘。一旦你切换到另一个应用程序,应用程序就会退出活动状态(并暂停,也就是说,没有CPU时间)。此外,一旦应用程序在后台并保留其状态(如果实现),操作系统就没有义务将其保存在内存中,并且可以随时杀死它。
连接(其操作系统部分、套接字等)在应用程序终止时暂停或断开。有一种方法是通过后台任务来完成一些在应用程序失效前绝对需要完成的事情。唯一的事情是,严格建议不要使用后台任务超过30-60秒,否则任务会被杀死。后台任务有其超时时间,但可能会因版本而异。显然,你的情况不太适合后台任务,下载数据可能需要更长的时间,你不能控制多长时间,你需要像“服务”或“守护程序”这样的东西。不确定它们是否存在于ios中。
尝试阅读以下内容:iOS:让应用程序像服务一样运行
还有一件事要检查的是后台应用程序刷新。它允许应用程序不时唤醒并做一些有用的事情:https://developer.apple.com/documentation/uikit/app_and_environment/scenes/preparing_your_ui_to_run_in_the_background/updating_your_app_with_background_app_refresh?language=objc
这在我的案例中奏效:在AppDelegate中。
var backgroundUpdateTask: UIBackgroundTaskIdentifier = UIBackgroundTaskIdentifier(rawValue: 0)
func endBackgroundUpdateTask() {
UIApplication.shared.endBackgroundTask(self.backgroundUpdateTask)
self.backgroundUpdateTask = UIBackgroundTaskIdentifier.invalid
}
func applicationWillResignActive(_ application: UIApplication) {
self.backgroundUpdateTask = UIApplication.shared.beginBackgroundTask(expirationHandler: {
self.endBackgroundUpdateTask()
})
}
func applicationDidBecomeActive(_ application: UIApplication) {
self.endBackgroundUpdateTask()
}
我正在尝试twilio从我的浏览器到手机号码打电话,但没有成功。以下是我遵循的步骤:
我是RXJava的新手。在一个场景中,我希望调用第一个登录webservice(),如果成功,则希望调用另一个webservice()以获取用户信息。
使用Twilio Studio和我们的流设置为“连接呼叫到”小部件一个通用电话,除非输入了分机,然后“连接呼叫到”小部件一个人的桌面电话,这是使用“基于拆分”小部件。当用户不拿起他们的电话和超时发生时,问题就会发生。流如何将用户发送回Twilio“记录语音邮件”小部件?
在最新版本的Android(尤其是Pixel)上处理Wifi Manager时,我看到了一些有趣的行为。我正在尝试使WIFI manager连接到已知的热点(IOT设备)。 谷歌在一篇博客文章中清楚地列出了这些步骤,如果你在Lollipop上,你需要绑定到一个特定的网络,以确保你的网络请求通过一个给定的网络。你可以在这里找到步骤https://android-developers.googlebl
我试图做两个API调用,第二个API调用依赖于第一个API响应。下面这段代码给出了第一次weblient调用的响应。在这里,我没有得到来自第二个API调用的响应。在日志中,我可以看到对第二个网络客户端调用的请求甚至不是用onSubcribe()启动的。你能告诉我我做错了什么吗? 更新2: 我已经将我的代码更改为Functions,并使用Flux而不是流迭代。我现在面临的是,所有的迭代都被过滤掉do
我们需要使用语音连接两位客户,但我们需要隐藏彼此的客户电话号码。我们决定使用下一种方法——用twilio屏蔽电话号码 问题是: 我们使用twilio号码连接两个客户。我们可以使用相同的号码进行另一个呼叫吗?或者在呼叫完成之前它是“忙”的? 如果它是'忙',我们可以购买例如20个电话号码,并在每次需要打电话时可用吗? 不相关,但为什么没有可能购买乌克兰电话号码。 非常感谢您的帮助。
我想从应用程序拨打电话。 是否可以将选项限制为仅从内置电话应用程序呼叫,而不将Viber,Skype或Whatsapp显示为选项? 以下是我的代码: 我想看起来像这样: 而不是这样(如果我已经安装了Viber和Skype): 我尝试使用以下代码: 这让Skype成为一种选择,我也不知道为什么?
我正在尝试从macos上使用swift开发的应用程序连接到realm object server 当我尝试连接时,会出现“网络连接丢失”错误,但我可以从浏览器中毫无问题地打开领域服务器。。顺便说一句,这个问题最近发生了,它在几周前工作正常 这里,用户总是,错误描述是 这发生在本地服务器和一个托管在数字海洋 服务器版本1.8。3. xcode控制台日志 2018-01-15 12:46:07.077