iOS справочный пост-запрос на молчание - PullRequest
0 голосов
/ 26 марта 2020

Я хочу спросить, возможно ли отправить запрос POST URL-адреса из приложения, когда приложение получит тихий пу sh уведомление . Если это возможно, как я могу получить это?

Мое приложение успешно получает тихие уведомления pu sh и , когда мой телефон подключен к Xcode, и я могу выполнить задачу URL (даже в фоновом режиме) и получить желаемые результаты. После отключения телефона от моего Ма c телефон вообще перестает выполнять URL-задачи .

Что касается яблочной документации , когда появляется тихое уведомление pu sh, у меня есть 30 секунд для выполнения кода

Ваше приложение имеет 30 секунд для выполнения любые задачи и вызовите предоставленный обработчик завершения

Мой тихий pu sh Уведомление:

{
   notification: {},
   apns: {
      headers: {
          "apns-priority" : '5',
          "apns-push-type" : 'background'
      },
      payload: {
          aps: {
              "content-available" : 1,
          }
      }
   },
   topic: topic
};

AppDelegate.swift:

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any],
                 fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
    if let messageID = userInfo[gcmMessageIDKey] {
        print("Message ID: \(messageID)")
    }

    guard (userInfo["aps"] as? [String?: Any]) != nil else {
        Analytics.logEvent("fetch_failed", parameters: nil)
        completionHandler(.failed)
        return
    }

    self.emailFetch() // Here I call my function for sending POST request via URLSession

    print(userInfo)

    completionHandler(UIBackgroundFetchResult.newData)
}
...