Я обнаружил, что приложение публикации не может получить токен устройства. Я не могу найти токен устройства на моем сервере. Но версия для разработки может сделать это.
Это мой регистрационный код:
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDir=[paths objectAtIndex:0];
NSFileManager *myFM=[NSFileManager defaultManager];
NSString *filepath = [documentDir stringByAppendingPathComponent:@"devicetoken.plist"];
if([myFM fileExistsAtPath:filepath]==NO){
NSString * str = [NSString stringWithFormat:@"%@",deviceToken];
dic = [[NSMutableDictionary alloc]init];
[dic setObject:[NSString stringWithString:@"DeviceToken"] forKey:@"type"];
[dic setObject:[NSString stringWithString:@""] forKey:@"_id"];
[dic setObject:str forKey:@"token"];
CJSONDeserializer * jo=[[CJSONDataSerializer alloc]autorelease];
NSData *data=[jo serializeDictionary:dic];
NSURL* url=[NSURL URLWithString:[NSString stringWithString:url]];
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
NSString *contentType = [NSString stringWithFormat:@"application/json"];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
[request setHTTPBody:data];
putDoc = [NSURLConnection connectionWithRequest:request delegate:self];
}