приложение для iPhone в фоновом режиме - PullRequest
3 голосов
/ 29 января 2009

Есть ли способ запустить звуковое или всплывающее сообщение из закрытого приложения iPhone. Просто как "получать смс"

Ответы [ 3 ]

7 голосов
/ 01 сентября 2010

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

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

  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. Приложение (с разрешения пользователя) может зарегистрироваться на удаленном сервере (вашем или поставщике услуг), чтобы получать push-уведомления, доставленные ему от вас (через систему Apple). После получения приложение может при желании отображать всплывающее окно, воспроизводить звук и / или менять значок на значке приложения. В документации Apple есть пример кода для реализации на стороне iPhone, а также несколько проектов с открытым исходным кодом, плавающих на стороне сервера. Вы можете обойтись без необходимости внедрения собственной серверной стороны, используя такой сервис, как Urban Airship.

7 голосов
/ 29 января 2009

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

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

1 голос
/ 29 января 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...