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>
如何在我的 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>