Iphone Sdk: можно ли использовать UISwitch для включения и отключения PNS (службы push-уведомлений)? - PullRequest
2 голосов
/ 06 октября 2010

Я нахожу некоторый пример кода о PNS, статью здесь

, и я также создаю UISwitch для включения PNS

как дать метод для управления PNS?

Вот как я объявляю ячейку

cell.textLabel.text = @"PNS";
  [cell.textLabel setTextColor:[UIColor grayColor]];
  pushNotificationSwitch = [[[UISwitch alloc] initWithFrame:CGRectZero] autorelease];
  [cell addSubview:pushNotificationSwitch];
  cell.accessoryView = pushNotificationSwitch;
  [(UISwitch *)cell.accessoryView addTarget:self action:@selector(pushNotification:) forControlEvents:UIControlEventValueChanged];
 }


- (void)pushNotification:(id)sender{
 if (pushNotificationSwitch.on==YES) {
  UITableViewCell *cell = (UITableViewCell*)pushNotificationSwitch.superview;
  [cell.textLabel setTextColor:[UIColor blackColor]];
 }
 else {
  UITableViewCell *cell = (UITableViewCell*)pushNotificationSwitch.superview;
  [cell.textLabel setTextColor:[UIColor grayColor]];
 }
} 

, теперь я просто использую изменение цвета текстовой метки ячейки, чтобы представить, что переключатель вызывает метод

SO ..Могу ли я использовать его для управления включением PNS ???

Спасибо за любые комментарии и ответы!

Ответы [ 2 ]

5 голосов
/ 06 октября 2010

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

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

unregisterForRemoteNotifications

или

registerForRemoteNotificationTypes

.

Если пользователь хочет отменить регистрацию в уведомлении, это можно сделать, вызвав метод unregisterForRemoteNotifications .

Еще раз, если вы хотите зарегистрироваться для уведомления, вы можете использовать метод registerForRemoteNotificationTypes для вашего объекта Application.

Для получения дополнительной информации вы можете обратиться по этой ссылке .

UPDATE:

Вы можете назвать это так:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];

[[UIApplication sharedApplication] unregisterForRemoteNotifications];

Вы можете использовать ссылки, на которые я ссылался, для получения дополнительной информации.

2 голосов
/ 06 октября 2010

Вы можете активировать PNS для своего приложения с помощью registerForRemoteNotificationTypes: или деактивировать его с помощью unregisterForRemoteNotifications. См. http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/occ/instm/UIApplication/registerForRemoteNotificationTypes: для получения дополнительной информации:

...