首先,我正在为安卓和iOS开发一个Cordova应用程序,主要是。
我使用的是手机间隙推送插件的不推荐版本:
https://github.com/phonegap-build/PushPlugin
现在我正在使用新版本:
https://github.com/phonegap/phonegap-plugin-push
我的所有代码都在使用新的push插件;,我似乎无法完全摆脱旧的push插件,而且它很糟糕:(
旧的push插件的版本号是2.5,而新的push插件的版本号是1.5或1.6。但要继续前进。
我在Android上运行这个应用程序,一切都很好。该应用程序正在运行,并按预期的方式工作。我也成功地收到了通知。
此外,在iOS上,一切都是按照一个月前的计划进行的;但今天,当我试图在iOS设备上部署时,我开始面临许多问题。该设备使用Taco远程构建,从windows (视频工作室)到苹果macbook。
然后我注意到,在应用程序的config.xml (项目根中的一个)中,有旧的和新的推插件。我错误地删除了新的版本(因为错误的版本号,我认为它实际上是旧的)。它似乎运行了一段时间(在安卓和iOS上),但过了一段时间,我注意到,在现实中,该应用程序无法正常工作,因为它需要新的推插件,而且它没有被找到。因此,我删除了旧的推插件,并安装了新的推插件(这也是一个更新版本的新推插件,我以前有)。
目前,我的问题是,当通过taco运行时,该应用程序成功地部署在iOS设备(iPhone 6)上--因此,远程构建似乎是正确的!然而,在运行时,应用程序似乎没有识别/定位/找到新的推插件。我怀疑这个新的推送插件不会从我的windows pc上的可视工作室转移到我的苹果macbook上,而不是通过taco远程构建。
在这个目录中:/Users/Jurgen/..taco_home/i可以看到包含所有生成文件的构建。在最外层的插件文件夹中,我可以看到phonegap- plugins文件夹中引用了新的push插件:
/Users/Jurgen/.taco_home/remote-builds/taco-remote/builds/16880/cordovaApp/plugins/phonegap-plugin-push
深入目录,进入平台文件夹/ios/www/plugins等,就没有phonegap插件推送:
/Users/Jurgen/.taco_home/remote-builds/taco-remote/builds/16880/cordovaApp/platforms/ios/www/plugins/
我认为这可能是问题的原因:虽然我不能百分之百肯定。我认为iOS构建最可能使用的是来自iOS文件夹内的www文件夹的插件文件夹,而不是最外层的插件文件夹(在上面所示的第一个目录中):而且由于推插件在里面的任何地方都看不到;这可能是问题所在,尤其是当记住.xcodeproject文件驻留在同一个'ios‘文件夹中时。
因此,我所做的就是手动地将push插件文件夹复制到最内部的目录中,这也不起作用。即使这样做了,也没有什么意义,而且非常不方便。
我能做些什么来确保插件通过taco构建转移到iOS构建中?问题不是我所怀疑的,而是别的问题吗?
我完全被困住了,所以任何帮助都是非常感谢的!
发布于 2016-04-08 07:01:37
听起来远程项目有点混乱。试试这个,看看它是否有用:
在你的非mac机器上,确保只有正确的插件被引用.这包括config.xml和插件文件夹。考虑完全删除插件,然后重新添加正确的版本.如果其他插件在其plugin.xml中指定了对push插件的依赖,那么这也可能会导致问题,特别是如果最大的版本号不是最新版本的话。您可能需要删除这些插件也。
一旦完成,执行一个干净的构建。通过taco-cli,这将是taco build ios --clean,与任何其他设备等标志,您想要。使用Visual,我相信你会去build -> clean。
这应该再次复制整个项目,并避免与冲突插件版本部分持久化的问题。
https://stackoverflow.com/questions/36293739
复制相似问题