Как использовать Objective C для отправки токена устройства для push-уведомлений и других пользовательских настроек в таблицу sql на сервере - PullRequest
8 голосов
/ 24 декабря 2009

В идеале я хотел бы отправить HTTP-запрос с использованием POST на сервер push-уведомлений, который содержит токен устройства, а также некоторые пользовательские настройки. Оттуда я могу настроить php-скрипт на сервере для обработки входящих данных и ввода их в таблицу sql. Если это единственный способ сделать это, как мне начать инициализацию и HTTP-запрос из Цели C?

Ответы [ 2 ]

32 голосов
/ 02 января 2010

Сначала необходимо преобразовать токен устройства в шестнадцатеричную строку с помощью функции, подобной этой:

- (NSString*)stringWithDeviceToken:(NSData*)deviceToken {
  const char* data = [deviceToken bytes];
  NSMutableString* token = [NSMutableString string];

  for (int i = 0; i < [deviceToken length]; i++) {
    [token appendFormat:@"%02.2hhX", data[i]];
  }

  return [[token copy] autorelease];
}

Тогда вам нужно будет сделать запрос на ваш сервер:

NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@"http://example.com/script.php?token=%@", DEVICE_TOKEN]];
NSMutableURLRequest* request = [[[NSMutableRequest alloc] initWithURL:url] autorelease];
NSURLConnection* connection = [NSURLConnection connectionWithRequest:request delegate: self];
11 голосов
/ 29 октября 2011

другой способ:

NSString * tokenAsString = [[[deviceToken description] 
stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]] 
stringByReplacingOccurrencesOfString:@" " withString:@""];
...