если приложение в фоновом режиме проверяет сервер для некоторого флага, и тогда, когда срабатывает, она автоматически переходит на передний план?
Невозможно на данный момент.
Могу ли я показать сообщение и воспроизвести звук для пользователя, чтобы запросить приложение повторно открыть?
Да. Когда вы отправляете уведомление Local, на экране пользователя появится всплывающее предупреждение. Пример кода для добавления локального уведомления:
UILocalNotification* localNotification = [[UILocalNotification alloc] init];
localNotification.alertBody = @"AlertBody";
localNotification.alertAction = @"AlertAction";
localNotification.timeZone = [NSTimeZone defaultTimeZone];
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
При открытии приложения, нажав на уведомление, после параметра «launchOptions» получит значение:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Debug и найти значение для launchOptions:
[launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
Если мы предполагаем, что приложение установлено на устройстве, но никогда не открывалось (поэтому связь с APN никогда не была установлена, поэтому никаких push-уведомлений не произошло) - может ли что-либо вызвать приложение для запуска (в фоновом режиме), кроме явного открытия приложения пользователем (или каким-либо другим способом, который заставляет приложение открываться и фактически выходить на передний план)? – uerceg
@uerceg, Нет, я не думаю, что это возможно. –