Swift – виджет не может получить доступ к группе приложенийIOS

Программируем под IOS
Ответить
Anonymous
 Swift – виджет не может получить доступ к группе приложений

Сообщение Anonymous »


Недавно я пытался создать виджет и хотел поделиться частью данных между моим виджетом и моим приложением.

статический varsharedDataFileURL: URL { let appGroupIdentifier = "group.com.unknownstudios.yk" Guard let url = FileManager.default.containerURL (forSecurityApplicationGroupIdentifier: appGroupIdentifier) else { preconditionFailure("Ожидается действительный контейнер группы приложений") } вернуть url.appendingPathComponent("userID.plist") } Приведенный выше код отлично работает в моем приложении, но когда я запускаю его в своем виджете, я получаю следующий результат. Я проверил, что группа приложений правильна и активна как в приложении iOS, так и в виджете.

[не указано]Container_create_or_lookup_path_for_platform: клиент не имеет прав [не указано]Container_create_or_lookup_app_group_path_by_app_group_identifier: клиент не имеет прав Неустранимая ошибка: ожидается действительный контейнер группы приложений: файл WidgetExtension/Library.swift, строка 143. Изменить:

Я также пытался использовать UserDefaults, но они тоже не работают.

Следующим образом я использую FileManager и UserDefaults

UserDefaults(suiteName: "group.com.unknownstudios.yk")!.set("**USERID**", forKey: "userID") let data = Data("**USERID**".utf8) делать { попробуйте data.write(to: URL.sharedDataFileURL, параметры: .atomic) } ловить { печать (error.localizedDescription) } И вот как я пытаюсь прочитать данные из виджета:

var userID: String? "=" if let userid = UserDefaults(suiteName: "group.com.unknownstudios.yk")!.string(forKey: "userID") { печать (идентификатор пользователя) вернуть идентификатор пользователя } else if let url = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.com.unknownstudios.yk") { если позволить данным = попробовать? Data(contentsOf: url.appendingPathComponent("userID.plist")), let string = String(data: data,coding: .utf8) { возвращаемая строка } } вернуть ноль }() Группы приложений WidgetExtension:
Изображение


Основное приложение, группы приложений:
Изображение

Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»