0

首先,我主要是为 Android 和 iOS 开发一个 Cordova 应用程序。

我正在使用已弃用的电话间隙推送插件版本:

https://github.com/phonegap-build/PushPlugin

现在我正在使用新版本:

https://github.com/phonegap/phonegap-plugin-push

而且我所有的代码也都在使用新的推送插件;我似乎无法完全摆脱旧的推送插件,这很糟糕:(

旧的推送插件的版本号是 2.5,而新的推送插件的版本号是 1.5 或 1.6,这超出了我的理解。但继续前进。

我在 Android 上运行该应用程序,一切正常。该应用程序正在按预期运行和工作。我也成功收到通知。

同样,在 iOS 上,一切都按预期工作,直到一个月前给予或接受。但是今天,当我尝试在 iOS 设备上使用 Taco 远程构建从 windows pc (visual studio) 部署到苹果 macbook pro 时,我开始面临很多问题。

然后我注意到在应用程序的 config.xml(项目根目录中的那个)中既有旧的推送插件也有新的推送插件。我错误地删除了新的(因为误导性的版本号;我以为它实际上是旧的)。它似乎可以正常运行一段时间(在 Android 和 iOS 上),但过了一段时间,我注意到实际上该应用程序无法正常运行,因为它需要新的推送插件并且没有找到。所以我删除了旧的推送插件并安装了新的推送插件(恰好也是我之前拥有的新推送插件的更新版本)。

目前,我的问题是,当通过 taco 远程构建运行时,该应用程序成功地部署在 iOS 设备(iPhone 6)上 - 所以是的,远程构建似乎正在正确发生!但是该应用程序似乎无法识别/定位/运行时找到新的推送插件。我怀疑新的推送插件没有通过 taco 远程构建从我的 windows pc 上的 visual studio 转移到我的苹果 macbook pro 中。

在此目录中:/Users/Jurgen/.taco_home/ 我可以看到构建,以及所有生成的文件。在最外层的插件文件夹中,我可以看到 phonegap-plugin-push 文件夹指的是新的推送插件:

/Users/Jurgen/.taco_home/remote-builds/taco-remote/builds/16880/cordovaApp/plugins/phonegap-plugin-push

进一步进入目录,进入平台文件夹/ios/www/plugins等,没有phonegap-plugin-push:

/Users/Jurgen/.taco_home/remote-builds/taco-remote/builds/16880/cordovaApp/platforms/ios/www/plugins/-----

我认为这可能是问题的原因:虽然我不是 100% 确定。我认为 iOS 构建最有可能使用 iOS 文件夹内 www 文件夹中的 plugins 文件夹,而不是最外面的(在上面显示的第一个目录中):而且由于在那里看不到 push 插件;这可能是问题所在,当记住 .xcodeproject 文件位于同一个“ios”文件夹中时更是如此。

所以我所做的就是手动将推送插件文件夹复制到最里面的目录中;这也不起作用。即使这样做了,它也没有真正的意义并且非常不方便。

我可以做些什么来确保插件通过 taco 远程构建转移到 iOS 构建中?问题可能是其他问题而不是我怀疑的问题吗?

我完全被卡住了;所以任何帮助将不胜感激!

4

1 回答 1

0

听起来远程项目很混乱。试试这个看看是否有帮助:

在您的非 mac 机器上,确保只引用了正确的插件。这包括 config.xml 和 plugins 文件夹。考虑完全删除插件,然后重新添加正确的版本。如果其他插件在其 plugin.xml 中指定了对推送插件的依赖关系,那么这也可能会导致问题,尤其是在最大版本号不是最新版本的情况下。您可能还需要删除这些插件。

完成后,执行干净的构建。通过taco-cli这将是taco build ios --clean,与您想要的任何其他设备等标志。使用 Visual Studio 你会去build -> clean我相信。

这应该会再次完整地复制您的项目,并避免部分持续存在冲突插件版本的问题。

于 2016-04-08T07:01:37.857 回答