Вопросы

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

В последнее время я пытался создать виджет и хотел поделиться фрагментом данных между моим виджетом и моим приложением.

    static var sharedDataFileURL: URL {
        let appGroupIdentifier = "group.com.unknownstudios.yk"
        guard let url = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: appGroupIdentifier)
            else { preconditionFailure("Expected a valid app group container") }
        return url.appendingPathComponent("userID.plist")
    }

Приведенный выше код отлично работает в моем приложении, но когда я запускаю его в своем виджете, он дает мне следующий результат. Я проверил, что группа приложений верна и активна как в приложении iOS, так и в виджете.

[unspecified] container_create_or_lookup_path_for_platform: client is not entitled
[unspecified] container_create_or_lookup_app_group_path_by_app_group_identifier: client is not entitled
Fatal error: Expected a valid app group container: file WidgetExtension/Library.swift, line 143

Изменить:

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

Вот как я использую FileManager и UserDefaults.

UserDefaults(suiteName: "group.com.unknownstudios.yk")!.set("**USERID**", forKey: "userID")

let data = Data("**USERID**".utf8)
do {
    try data.write(to: URL.sharedDataFileURL, options: .atomic)
} catch {
    print(error.localizedDescription)
}

И вот как я пытаюсь прочитать данные из виджета:

    var userID: String? = {
        if let userid = UserDefaults(suiteName: "group.com.unknownstudios.yk")!.string(forKey: "userID") {
            print(userid)
            return userid
        } else if let url = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.com.unknownstudios.yk") {
            if let data = try? Data(contentsOf: url.appendingPathComponent("userID.plist")), let string = String(data: data, encoding: .utf8) {
                return string
            }
        }
        return nil
    }()

Группы приложений WidgetExtension:

Читать:
Flask-WTForms Как обойти автоматическую предварительную проверку для радиополей

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

Похожие записи

Как подсчитать конкретные термины в токенизированных предложениях с помощью pandas df

admin

Ошибка при запуске `gatsby build` с Kentico Kontent

admin

VSCode: сохраняйте фокус в Viewlet управления версиями при открытии файла

admin

преобразовать логическое значение в строку для значений карты в nifi jolt

admin

Как сообщить JavaScript, что моя переменная является массивом, а не строкой?

admin

Pylint не работает при использовании в качестве хука предварительной фиксации в github

admin