如何在 Ionic4 中使用 Cordova 插件中的'initWithSuiteName'



我想在Ionic4应用程序和本机今日小部件之间共享数据。为此,我正在使用这个插件

在Cordova插件的文档中,您可以找到"iOS特定的功能",其中提到了NativeStorage.initWithSuiteName。但这在 Ionic 插件中是缺失的。

所以我像这样更改了我的代码:

if (this.platform.is('ios')) {
  window['plugins'].NativeStorage.initWithSuiteName('group.com.test.test');
}

this.nativeStorage.setItem(key, val);

但是当我想在今天的小部件中获取数据时,没有设置键。

let preferences = UserDefaults(suiteName: "group.com.test.test");
        if let test = preferences!.string(forKey: "test") {
            print(test);
        } else {
            print("No");
        }

有谁知道如何处理这个问题?感谢您的帮助!

如果在同一应用 ID 中共享数据,请不要使用 initWithSuiteName()

this.nativeStorage.setItem(key, val);

if let test = UserDefaults.standard.string(forKey: "test") as? String {
    print(test);
} else {
    print("No");
}

如果在应用或扩展之间共享数据,则需要使用应用组https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_application-groups

setItem()之前

if (this.platform.is('ios')) {
    NativeStorage.initWithSuiteName(APP_GROUP_ID);
}

相关内容

  • 没有找到相关文章

最新更新