官网的ionic-native使用的是:
https://github.com/Telerik-Verified-Plugins/ImagePicker
然而该插件不支持中文,那怎么处理?联系作者修改代码?这很难,不知道何年何月,那我们自己动手改造吧!
什么?不懂原生?不会?其实有时候原生不太懂,也不影响你去使用和修改插件的。不信?请看下去:
首先代码是开源,放在github上的,我们先fork过来然后本地修改。
先打开plugin.xml(插件的基本信息和配置都在该文件,关于这文件,我会专门写一篇文章来说明)观察下文件,分别留意android和ios项下的配置:
android项下的配置 ios项下的配置观察得出,其实src里面的就是对应的语言描述文件,那我们对应的添加中文支持,就是仿照该文件写一份,然后加到配置项就行了。
andriod在android/Library/res创建文件夹values-zh,其下创建文件multiimagechooser_strings_zh.xml,
ios在ios/GMImagePicker创建文件夹zh-Hans.lproj,其下创建文件GMImagePicker.strings,
最终两份文件内容如下:
multiimagechooser_strings_zh.xml zh-Hans.lproj/GMImagePicker.strings改完后,我们安装插件时指定安装位置为修改过的项目路径即可,如可以执行这样的命令,然后和官网一样地调用即可:
ionic cordova plugin add 插件路径(本地或远程的)
是不是很简单?就算有时真的要改源码也不一定很难,因为你可能不会写,但是看,然后简单修改应该还是可以的。
同理,当打包ios发布app store时,会询问关于图像、地理位置或者麦克风等相关描述内容,如果没有填写,会审核不通过,所以如果插件没有做处理,每次发布都要手动修改info.plist填写,于是,为了方便,我们可以在plugin.xml加上下面配置内容:
plugin.xml配置然后就可以类似下面那样在安装插件时使用variable变量设置参数:
ionic cordova plugin add https://github.com/woodstream/ImagePicker.git --variable PHOTO_LIBRARY_USAGE_DESCRIPTION="your usage message" --variable CAMERA_USAGE_DESCRIPTION="your usage message"
修改过的插件已上传到:
https://github.com/woodstream/ImagePicker
当然,此插件可以直接安装,如下:
ionic cordova plugin add https://github.com/woodstream/ImagePicker
最最后,有个恶心的地方我还没动它,调用的时候传入中文title,不然会显示默认英文标题。
网友评论