Настройка локальных уведомлений на всех устройствах Swift - PullRequest
0 голосов
/ 11 апреля 2020

Я добавил локальные уведомления, запускаемые датой, в свое приложение, и теперь я хочу, чтобы пользователь мог получать уведомления, которые они установили, на одном устройстве на всех своих устройствах, на которых установлено приложение. Я сохраняю уведомление, которое они устанавливают, в основном объекте данных (сохраняя идентификатор уведомления и дату, когда он должен быть запущен). Приложение использует NSPersistentCloudKitContainer для синхронизации c пользовательских устройств вместе.

Поскольку я сохраняю уведомления, которые пользователь устанавливает в этом контейнере iCloud, есть ли способ прослушивания изменений iCloud на фоне приложения, поэтому при добавлении уведомления в iCloud я могу его прочитать и установить его как локальное уведомление на других своих устройствах?

Я смог сделать это, когда приложение находится на переднем плане с NotificationCenter.default.addObserver(self, selector: #selector(type(of: self).storeRemoteChange(_:)), name: .NSPersistentStoreRemoteChange, object: container.persistentStoreCoordinator) в моем файле менеджера данных ядра. Но я хотел бы сделать это, когда приложение не открывается вообще.

Вы можете думать об этом как о пользователе, устанавливающем напоминание в приложении напоминаний Apple, и о том, как это уведомление появляется на всех моих устройствах iCloud во время его установки. Я предпочитаю не создавать серверы любого типа, чтобы справиться с этим, потому что я не знаком с использованием серверов.

Заранее благодарю за помощь!

...