相当于iOS的后台服务
我目前正在将安卓应用程序移植到iOS上,但我似乎找不到一个好的安卓后台服务来处理用户请求。 Android应用程序有一个带有Socket.IO对象的后台服务,通过在UI和服务之间来回发送BroadcastReceivers,我也可以处理请求(通过使用EventBus替换BroadcastReceivers,我可以用应用程序在后台所做的更改来更新UI)。在iOS 10之前,建议用户使用voip呼叫来执行此类任务,但后来它被弃用了,取而代之的是pushKit,但它不让应用程序知道推送通知。无论如何,我正在寻找一个好的架构来给我这些功能,如果有人有意见,我会非常高兴听到它相当于iOS的后台服务,ios,swift,architecture,socket.io,background-service,Ios,Swift,Architecture,Socket.io,Background Service,我目前正在将安卓应用程序移植到iOS上,但我似乎找不到一个好的安卓后台服务来处理用户请求。 Android应用程序有一个带有Socket.IO对象的后台服务,通过在UI和服务之间来回发送BroadcastReceivers,我也可以处理请求(通过使用EventBus替换BroadcastReceivers,我可以用应用程序在后台所做的更改来更新UI)。在iOS 10之前,建议用户使用voip呼叫来执行此类任务,但后来它被弃用了,取而代之的是pushKit,但它不让应用程序知道推送通知。无论如何,
- 它应该能够容纳单个套接字对象并使其保持活动状态 并且可以在后台访问UI元素,而不会阻塞UI
- 如果应用程序处于运行状态,则某些套接字事件需要有通知 后台如果在前台,则请求用户界面制作一些 变化。(若它可以在应用程序处于后台时在后台更新UI,并向用户提供更新的UI,那个就更好了)
- 在Socket对象和UI之间发送事件需要非常简单 尽可能地解耦,因为有许多事件具有不同的 财产
NSNotification
。在前台模式下,如何使应用程序中的所有类都可以访问套接字对象和事件?单例类可以做这样的事情吗?如何使它在后台工作并且不阻塞UI线程?您可以使用单例。Alamofire和NSURLConnection等网络库支持委派和异步回调,因此不会阻塞主线程。