0

У меня вопрос об аутентификации пользователей при разработке приложения iOS. Когда пользователь запускает приложение, на экран будет выведено приглашение, в котором будет предложено ввести правильное имя пользователя и пароль. Как только их учетные данные будут проверены, они смогут получить доступ к остальной части приложения. Я не знаю, как создать эту операцию проверки. Я знаю, как создать визуальную часть приложения, однако, что-то помимо этого я не понимаю. Короче говоря, как вы создаете приложение, которое требует учетных данных от пользователя для работы?Идентификация пользователя пользователя

+0

Чтобы добавить к этому вопросу, приложения, такие как Paypal, Mint.com, Facebook, Twitter и App Store, используют учетные данные для проверки пользователей. Это не может быть сложным или большим секретом, чтобы знать, как это сделать. Мне просто нужна помощь в этом для разработки моего приложения. Im удивил, что яблоко не разработало учебное пособие для создания приложений, которые подтверждают учетные данные пользователя. Опять же, возможно, они есть, и я просто не знаю об этом :-) –

+0

Этот вопрос действительно не связан с iOS, но с общим дизайном приложения – coneybeare

+0

Так как я буду развиваться только в iOS, моя единственная забота - IOS. –

ответ

1

Во-первых, Apple отклонит ваше приложение, если оно не может сделать что-то полезно без аутентификации. Во-вторых, вы собираете входные данные от пользователя, тогда вам нужно будет запустить NSURLConnection на ваш сервер, чтобы пройти аутентификацию, наблюдать за ответом и действовать соответствующим образом.

+0

Я знаю, что Apple отвергнет его, если он не сможет сделать что-то полезное. Я понимаю, что собираю данные от пользователя. «Отключите NSURLConnection к вашему серверу, чтобы проверить подлинность, наблюдать за ответом и действовать соответствующим образом». Есть ли какой-либо возможный способ, чтобы вы могли объяснить это немного подробнее? –

0

Это зависит от того, как настроен ваш сервер, учитывая, что вы проверяете его на своем сервере. Вы бы использовать NSURLConnection в некоторой степени таким образом, это то, как я делаю это в моем приложении (с учетом ваших параметров):

+ (NSDictionary *)executeCallWithRequest:(NSMutableURLRequest *)request { 
    NSHTTPURLResponse *response = nil; 
    NSError *error = nil; 
    NSData *jsonData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
    NSString *dataString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 
    error = nil; 
    NSDictionary *result = jsonData ? [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers|NSJSONReadingMutableLeaves error:&error] : nil; 
    if (error == nil && response.statusCode == 200) { 
    NSLog(@"%i", response.statusCode); 
    } else { 
    NSLog(@"%@", dataString); 
    NSLog(@"%@", [error localizedDescription]); 
    } 
    return result; 
} 

+ (NSDictionary *)executePostWithRequest:(NSMutableURLRequest *)request { 
    request.HTTPMethod = @"POST"; 
    return [self executeCallWithRequest:request]; 
} 

+ (NSDictionary *)loginUserWithCredentials:(NSDictionary *)userCredentials { 
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@", YOUR_URL]]; 
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 

    NSString *requestFields = [NSString stringWithString:@""]; 
    for (NSString *key in [userCredentials allKeys]) { 
    requestFields = [requestFields stringByAppendingFormat:@"(param name)&", key, [userCredentials objectForKey:key]]; 
    } 

    //removes the trailing & 
    requestFields = [requestFields substringToIndex:requestFields.length - 1]; 
    requestFields = [requestFields stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
    NSData *requestData = [requestFields dataUsingEncoding:NSUTF8StringEncoding]; 
    request.HTTPBody = requestData; 

    return [self executePostWithRequest:request]; 
} 

В моем случае я отвечаю с JSON закодированного массива.

+0

Спасибо за ответ. Какой сервер? Как вы можете проверить с помощью сервера? Я никогда не создавал приложение с проверкой прежде, чем простить мое невежество. Нужно ли мне использовать дополнительные фреймворки, активированные в Xcode, для использования проверки? –

+0

Нет, Чарльз у вас нет. И я имею в виду, что у вас должна быть программа на стороне сервера, или нет? С чем вы отказываетесь? Где вы сохраняете информацию о своем пользователе? – 8vius

Смежные вопросы