Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Failed Uploads Fix

Abierto
#4 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
objective-c
Área
mobile-dev

Línea de trabajo

Comienza en TripManager.m, en connection:didReceiveResponse:, e inspecciona cómo se asignan los códigos de estado de NSHTTPURLResponse a los resultados de las subidas. Compara los estados gestionados con las respuestas del servidor que utiliza la aplicación y verifica después que las subidas correctas ya no muestren el mensaje kServerError.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Lloyd and I think we figured out the reason why uploads are failing. In TripManager.m there is a switch statement which runs through a bunch of server responses and if it does not receive any of them defaults to a kServerError message which prints "Upload Failed. Try again later." We just need to rewrite the switch statement to cover all scenarios of server responses because uploads are going through but the server is not passing a message back that the switch statement can interpret so it is defaulting to a failed upload.

\- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    // this method is called when the server has determined that it
    // has enough information to create the NSURLResponse
    NSLog(@"didReceiveResponse: %@", response);

```
NSHTTPURLResponse *httpResponse = nil;
if ( [response isKindOfClass:[NSHTTPURLResponse class]] &&
    ( httpResponse = (NSHTTPURLResponse*)response ) )
{
    BOOL success = NO;
    NSString *title   = nil;
    NSString *message = nil;
    switch ( [httpResponse statusCode] )
    {
        case 200:
        case 201:
            success = YES;
            title   = kSuccessTitle;
            message = kSaveSuccess;
            break;
        case 202:
            success = YES;
            title   = kSuccessTitle;
            message = kSaveAccepted;
            break;
        case 500:
        default:
            title = @"Internal Server Error";
            //message = [NSString stringWithFormat:@"%d", [httpResponse statusCode]];
            message = kServerError;
    }

    NSLog(@"%@: %@", title, message);

    //
    // DEBUG
    NSLog(@"+++++++DEBUG didReceiveResponse %@: %@", [response URL],[(NSHTTPURLResponse*)response allHeaderFields]);

    if ( success )
    {
        [note setUploaded:[NSDate date]];

        NSError *error;
        if (![managedObjectContext save:&error]) {
            // Handle the error.
            NSLog(@"TripManager setUploaded error %@, %@", error, [error localizedDescription]);
        }

        [uploadingView loadingComplete:kSuccessTitle delayInterval:.7];
    } else {

        [uploadingView loadingComplete:kServerError delayInterval:1.5];
    }
}

// it can be called multiple times, for example in the case of a
// redirect, so each time we reset the data.

// receivedData is declared as a method instance elsewhere
[receivedDataNoted setLength:0];
```

}
Lenguaje dominante
Objective-C
Estrellas
16
Forks
25
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de CodeForPhilly/CyclePhilly-iOS-app

Todos los issues de CodeForPhilly/CyclePhilly-iOS-app

Issues similares

Más issues de Objective-C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.