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

时间:2019-04-12 13:51:54

标签: cordova ionic-framework ionic4 ionic-native cordova-nativestorage

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

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

所以我这样更改了代码:

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

this.nativeStorage.setItem(key, val);

但是当我想在Today小部件中获取数据时,密钥没有设置。

let preferences = UserDefaults(suiteName: "group.com.test.test");

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

有人知道如何处理吗?感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果共享具有相同应用ID的数据,请不要使用public string SomeProperty { get { return _somProperty; } set { _someProperty= value; OnPropertyChanged(); } } }

initWithSuiteName()

this.nativeStorage.setItem(key, val);

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

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

setItem()