gpt4 book ai didi

ios - Cordova 插件和依赖项

转载 作者:行者123 更新时间:2023-12-03 01:56:42 26 4
gpt4 key购买 nike

我想为 iOS 创建一个使用其他预制 Cordova 插件并对其进行修改的 Cordova 插件。

例如,我想创建一个插件来上传 mp3 类型的音频文件,现在我想使用“媒体”插件录制、停止录制、播放、停止播放音频文件,该插件提供这些基本功能,但使用不同的文件格式(默认媒体插件使用我想使用 mp3 的 Wav 格式)而不修改“媒体”插件本身。

有什么办法可以做到这一点?

谢谢您的帮助。

最佳答案

实现这一点的方法是继承(来自 native 代码而不是 js)。

创建您自己的自定义插件(与具有 plugin.xml 文件、WWW 文件夹、Src 等的普通 Cordova 插件的文件结构相同)。

在您的 plugin.xml 文件中,将 Media 插件声明为依赖项,当您安装自定义插件时,它将动态地带到您的项目中(请注意,根据您机器上的 Cordova 版本,“Media”插件 native 代码可能具有一些差异)。

<dependency id="org.apache.cordova.media"/>

当您创建自己的类名 CDVYourClass 并使其成为 CDVSound 的子类时,“媒体”插件类 (IOS) 称为“CDVSound”。

从这里您可以覆盖您想要更改的方法(例如,如果您想要录制 .m4a 文件而不是 Media 插件默认的 .WAV)。

有关构建 Cordova 插件插件的更多信息,请参阅 Cordova 文档。

https://cordova.apache.org/docs/en/4.0.0/guide/cli/

这是关于自定义插件的好读物。

http://docs.telerik.com/platform/appbuilder/cordova/using-plugins/using-custom-plugins/making-plugman-compatible/create-modify-plugin-xml

除了这个答案之外,还有一些“私有(private)”方法,您最初无法覆盖这些方法来克服这个问题,使用 Objective C 类别来扩展父类(在本例中为 CDVSound),然后在类别 .m 文件中声明它,然后您可以导入类别类到您的父类并覆盖私有(private)方法。

关于ios - Cordova 插件和依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34747231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com