Empuje la notificación sin usar Internet, Wi-Fi, APNS y el server de notifications Apple Push

Necesito escribir una aplicación IOS para permitir que algunos dispositivos IOS envíen notifications locales entre sí SIN connection a Internet externa (sin usar APNS – server de notifications push de Apple). El entorno será una networking Wi-Fi interna privada con un server dedicado …

Scanario

trabajamos en una oficina bancaria las 14 personas que utilizan la persona de Iphones. Una notificación de envío al rest de las 13 personas recibirá la notificación de una persona en el grupo (por ejemplo, Persona H) y la Persona A puede recibir la respuesta de Persona H no externa internet all iphone lo que tenemos es una networking Wi-Fi privada, configurada por un server. TOTALMENTE SIN VINCULOS con el mundo exterior … ningún enlace a internet exterior

Si es posible en la aplicación ios. usando swift 3.0. Si es posible, puedes guiarme.

Puede implementar este tipo de funcionalidad utilizando una combinación de búsqueda de background ( documentation de Apple ) y notifications locales , si tiene un server dentro de la networking que contiene la información necesaria para mostrar la notificación. Conceptualmente esto funcionaría así:

  1. Configure la aplicación para search los datos periódicamente desde su server dentro de la networking interna utilizando la funcionalidad de búsqueda de background.
  2. Cuando el server le envía la información que debe notificar al usuario, muestre la notificación local.

Sin embargo, hay tres cosas para recordar en este enfoque.

  • Su aplicación no recibe la notificación si no se está ejecutando en segundo plano, es decir, los usuarios deberán recordar mantener la aplicación en segundo plano.
  • La búsqueda de datos de background no es completamente confiable, y Apple puede no disparar a time, es decir. cuando el dispositivo está en el modo de ahorro de batería. Esto puede o no estar bien para su caso de uso (querría probarlo).
  • Debes probar que tus iPhones no se desconecten del Wi-Fi cuando accedas al modo de reposo; de lo contrario, la lógica de búsqueda de background no funcionará.

EDIT: por ejemplo así:

  1. En la configuration del proyecto, habilite Capacidades -> Modos de background -> Búsqueda de background
  2. establezca un intervalo mínimo en su método AppDelegate.didFinishWithLaunchOptions , por ejemplo:

UIApplication.shanetworking.setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum)

  1. implementar el método de controller en AppDelegate:

 func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void { fetchData() { data in if data.needsToBeNotified { sendLocalNotification() } completionHandler(.newData) } } 

RayWenderlich tiene un bonito tutorial sobre los modos de background: https://www.raywenderlich.com/143128/background-modes-tutorial-getting-started

¡No! no puedes ¿No hay manera de resolver su problema mejor moverse a Push Notification con el uso de Internet, Wi-Fi, APNS y el server de notificación de Apple Push

Gracias