Проблема с городскими дирижаблями - PullRequest
1 голос
/ 11 апреля 2010

Я изменил пример кода псевдонима с:

    [request addRequestHeader: @"Content-Type" value: @"application/json"];
    [request appendPostData:[[NSString stringWithFormat: @"{\"alias\": \"%@\"}", self.deviceAlias]
                          dataUsingEncoding:NSUTF8StringEncoding]];

до:

[request addRequestHeader: @"Content-Type" value: @"application/json"];
[request appendPostData:[[NSString stringWithFormat: @"{\"tags\": \"%@\"}", offsetStr]
                                                 dataUsingEncoding:NSUTF8StringEncoding]];

offsetStr - строка, содержащая смещение часового пояса (может быть любым числом от -12 до 12).

По какой-то причине Urban Airship превращает каждый символ строки в свой собственный тег.

Я пытался заменить - на строку neg с теми же результатами.

Что не так?

1 Ответ

4 голосов
/ 11 апреля 2010

Проблема в том, что теги должны быть списком, а не одним значением. Через квадратные скобки вокруг значения, и все будет в порядке.

[request addRequestHeader: @"Content-Type" value: @"application/json"];
[request appendPostData:[[NSString stringWithFormat: @"{\"tags\": [\"%@\]"}", offsetStr]
                                             dataUsingEncoding:NSUTF8StringEncoding]];

Но вам действительно следует использовать библиотеку JSON, например, json-framework или TouchJSON, если вы хотите кодировать JSON на клиенте.

...