lundi 24 juin 2019

I'm having trouble with a Network error 1001

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