Cordova 插件变量

Cordova plugin variables

如何在我的 Cordova 插件的 Swift/Kotlin 代码中为 iOS 和 Android 使用变量?

我的意思是在 config.xml 中定义的变量,现在位于 package.json 中,看起来像这样:

<plugin name="cordova-plugin-device" spec="^1.1.0">
    <variable name="MY_VARIABLE" value="my_variable_value" />
</plugin>

...我知道如何在安装我的自定义插件时设置这些,但我没有在文档中看到任何关于如何在插件中访问它们的提及。

变量不能从代码中访问,变量只是改变 plugin.xml 中值的一种方式,可用于使 SDK 版本可配置,或将值写入 Info.plist 或 AndroidManifest.xml 或 strings.xml 或其他本机文件,那么您可以像在 iOS/Android.

上一样从本机代码读取这些文件

在阅读 Info.plist 的示例中,您可以这样做:

NSString *myValue = [NSString stringWithFormat:@"%@", [[NSBundle mainBundle] objectForInfoDictionaryKey:@"MyValue"]];

写在Info.plist

<config-file target="*-Info.plist" parent="MyValue">
   <string>$MY_VARIABLE</string>
</config-file>

阅读 strings.xml

Activity activity = cordova.getActivity();
    String packageName = activity.getPackageName();
    int resId = activity.getResources().getIdentifier(“MyValue”, "string", packageName);
String myValue = activity.getString(resId);

写入strings.xml

<config-file target="./res/values/strings.xml" parent="/resources">
    <string name="MyValue">$MY_VARIABLE</string>
</config-file>