2009-01-29 2 views

ответ

7

Я так не считаю. Apple заявила, что сторонние приложения не могут работать в фоновом режиме (хотя некоторые из них делают это). Вот почему было большое дело о «push-уведомлениях» прошлым летом (с тех пор, как, к сожалению, не было), это позволит приложению отправить некоторые данные с сервера, а затем соответствующим образом отреагировать на него.

Возможно, вы сможете это сделать, если напишите приложение для взломанного iPhone, но тогда только те пользователи, которые взломали ваш телефон, смогут установить и использовать ваше приложение.

+0

Apple, demo'd Push-уведомления на iPhone OS 3.0 лейтмотива: http://i.gizmodo.com/5171796/iphone-30-os-guide-everything-you-need-to-know – GrahamS

+2

Какая разница полтора года. Эта информация устарела. Я опубликовал обновленный ответ для людей, которые сейчас находят этот вопрос. –

1

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

+0

Push первоначально предполагалось быть доступным к сентябрю 2008. Месяцы спустя он все еще не доступен, и Apple не говорит об этом. Это может случиться, но я не буду делать никаких планов, которые зависят от него. –

7

Да, это фактически изменилось после того, как на вопрос был изначально дан ответ.

В настоящее время для закрытого приложения есть как минимум два способа воспроизведения звука или всплывающего окна.

  1. Приложение может регистрироваться для локального уведомления во время его работы, которое будет вызываться в будущем, даже если приложение будет закрыто. Уведомление будет отображать всплывающее окно и необязательно воспроизводить звук или устанавливать значок на значке приложения. Реализация этого проста:

    id localNotif = [[NSClassFromString(@"UILocalNotification") alloc] init]; 
        if (!localNotif) { 
         return; 
        } 
    
        [localNotif setTimeZone:[NSTimeZone defaultTimeZone]]; 
        [localNotif setAlertBody:NSLocalizedString(@"Hello!",nil)]; 
        [localNotif setAlertAction:NSLocalizedString(@"Hello", nil)]; 
        [localNotif setSoundName:UILocalNotificationDefaultSoundName]; 
        [localNotif setFireDate:[[NSDate date] addTimeInterval:(60*60)]];   
        [localNotif setFireDate:[[NSDate date] addTimeInterval:(24*60*60)]]; 
        [[UIApplication sharedApplication] scheduleLocalNotification:localNotif]; 
        [localNotif release]; 
    
  2. Приложение (с разрешения пользователя) может зарегистрироваться на удаленном сервере (Yours или поставщика услуг), чтобы получить уведомления толчка доставленные ему от вас (через систему от Apple). После приема приложение может отображать всплывающее окно, воспроизводить звук и/или менять значок на значке приложений. В документации Apple есть пример кода для реализации стороны iPhone, а также несколько проектов с открытым исходным кодом, которые перемещаются вокруг серверной части. Вы можете обойти использование собственной серверной части с помощью службы типа Urban Airship.

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