Я сохраняю свои данные из своего основного приложения в файле, который хранится где-то в userDomainMask.
NSKeyedArchiver.archiveRootObject(stops, toFile: BusStop.ArchiveURL.path)
и это в моем файле класса BusStop
static let DocumentsDirectory = FileManager().urls(for: .documentDirectory, in: .userDomainMask).first!
static let ArchiveURL = DocumentsDirectory.appendingPathComponent("stops")
Теперь я хочу прочитать эти данные из моего расширения «Сегодня» и возвращаемого им пустого набора [], поэтому я знаю, в чем проблема. Мне нужно сохранить эти данные в общей группе приложений, к которой принадлежат и мое расширение, и приложение.
Как сохранить данные и прочитать их?
Я хочу сохранить массив экземпляров моего класса BusStop.
РЕДАКТИРОВАТЬ:
Я исправил свою проблему!
Используйте это решение:
static let ArchiveURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.asd.asd.asd")!
.appendingPathComponent("mypath")
и каждый раз, когда вы выполняете какую-либо операцию с уже сохраненными данными или сохраняете новый контент, используйте это решение:
https://stackoverflow.com/a/37162883/3595696
Ваше здоровье!