I’m having troubles with an app that is similar to WhatsApp, but this is a social network for a bank. It has the chance to create a group and add some of your contacts, the issue is appearing when I try to create a group with more than 14 contacts: the loading indicator appears and after about a minute I receive the 1001 network error (kCFURLErrorTimedOut).
The function I use to create the groups is the next one:
private func crearGrupo() {
if self.contactosSeleccionados.count < 2 {
let errorView = PPAlertView(view: self.navigationController!.view)
errorView.mostrarConMensaje(NSLocalizedString("error_activityCrearGrupo_integrantesGrupo", comment: ""))
} else {
let hud = self.mostrarLoading(self.navigationController!.view)
PeperApi.shareClient.agregarGrupo(nombreGrupo: self.nombreGrupo, completion: { (grupoID, error) in
if let error = error {
let errorView = PPAlertView(view: self.navigationController!.view)
errorView.mostrarConMensaje(error.localizedDescription)
hud?.dismiss()
} else if let grupoID = grupoID {
self.grupoCreado = Grupo()
self.grupoCreado?.grupoID = grupoID
self.grupoCreado?.nombre = self.nombreGrupo
if let imagenGrupo = self.imagenGrupo {
PeperApi.shareClient.actualizarFotoGrupo(image: imagenGrupo, groupId: "\(grupoID)", completion: { (urlString, error) in
if let error = error {
let errorView = PPAlertView(view: self.navigationController!.view)
errorView.mostrarConMensaje(error.localizedDescription)
hud?.dismiss()
} else {
self.grupoCreado?.urlImagen = urlString
if let user = User.getUser(), let imagenPerfil = user.imageUrl {
PeperApi.shareClient.agregarAmigosAlGrupo(fotoPerfilOwner: imagenPerfil, grupoId: grupoID, contactos: self.contactosSeleccionados, completion: { (error) in
if let error = error {
let errorView = PPAlertView(view: self.navigationController!.view)
errorView.mostrarConMensaje(error.localizedDescription)
} else {
self.grupoCreado?.cantidadIntegrantes = self.contactosSeleccionados.count
let cobroView = PPAlertBotonesVerticalesView(view: self.navigationController!.view, fondoSeleccionable: false)
cobroView.delegate = self
cobroView.botonCerrar.isHidden = true
cobroView.botonAceptar.setTitle(NSLocalizedString("btn_continuar", comment: ""), for: .normal)
cobroView.botonCancelar.setTitle(NSLocalizedString("activityCobroGrupo_et_omitir", comment: ""), for: .normal)
cobroView.mostrarConMensaje(mensaje: NSLocalizedString("activityCobroGrupo_et_realizar_cobro", comment: ""))
}
hud?.dismiss()
})
} else {
PeperApi.shareClient.agregarAmigosAlGrupo(grupoId: grupoID, contactos: self.contactosSeleccionados, completion: { (error) in
if let error = error {
let errorView = PPAlertView(view: self.navigationController!.view)
errorView.mostrarConMensaje(error.localizedDescription)
} else {
self.grupoCreado?.cantidadIntegrantes = self.contactosSeleccionados.count
let cobroView = PPAlertBotonesVerticalesView(view: self.navigationController!.view)
cobroView.delegate = self
cobroView.botonAceptar.setTitle(NSLocalizedString("btn_continuar", comment: ""), for: .normal)
cobroView.botonCancelar.setTitle(NSLocalizedString("activityCobroGrupo_et_omitir", comment: ""), for: .normal)
cobroView.mostrarConMensaje(mensaje: NSLocalizedString("activityCobroGrupo_et_realizar_cobro", comment: ""))
}
hud?.dismiss()
})
}
}
})
} else if let user = User.getUser(), let imagenPerfil = user.imageUrl {
PeperApi.shareClient.agregarAmigosAlGrupo(fotoPerfilOwner: imagenPerfil, grupoId: grupoID, contactos: self.contactosSeleccionados, completion: { (error) in
if let error = error {
let errorView = PPAlertView(view: self.navigationController!.view)
errorView.mostrarConMensaje(error.localizedDescription)
} else {
self.grupoCreado?.cantidadIntegrantes = self.contactosSeleccionados.count
let cobroView = PPAlertBotonesVerticalesView(view: self.navigationController!.view, fondoSeleccionable: false)
cobroView.delegate = self
cobroView.botonCerrar.isHidden = true
cobroView.botonAceptar.setTitle(NSLocalizedString("btn_continuar", comment: ""), for: .normal)
cobroView.botonCancelar.setTitle(NSLocalizedString("activityCobroGrupo_et_omitir", comment: ""), for: .normal)
cobroView.mostrarConMensaje(mensaje: NSLocalizedString("activityCobroGrupo_et_realizar_cobro", comment: ""))
}
hud?.dismiss()
})
} else {
PeperApi.shareClient.agregarAmigosAlGrupo(grupoId: grupoID, contactos: self.contactosSeleccionados, completion: { (error) in
if let error = error {
let errorView = PPAlertView(view: self.navigationController!.view)
errorView.mostrarConMensaje(error.localizedDescription)
} else {
self.grupoCreado?.cantidadIntegrantes = self.contactosSeleccionados.count
let cobroView = PPAlertBotonesVerticalesView(view: self.navigationController!.view)
cobroView.delegate = self
cobroView.botonAceptar.setTitle(NSLocalizedString("btn_continuar", comment: ""), for: .normal)
cobroView.botonCancelar.setTitle(NSLocalizedString("activityCobroGrupo_et_omitir", comment: ""), for: .normal)
cobroView.mostrarConMensaje(mensaje: NSLocalizedString("activityCobroGrupo_et_realizar_cobro", comment: ""))
}
hud?.dismiss()
})
}
}
})
}
}
So, can someone help me to understand if I have an error in my logic? Do I’m using a lot of (If-else)? Or do I need to add some (DispatchQueue.main.async)?
Aucun commentaire:
Enregistrer un commentaire