Visual Studio Apache Cordova 工具 - iOS remotebuild - 省略 www 中的 "plugins" 文件夹
Visual Studio Tools for Apache Cordova - iOS remotebuild - Omitting "plugins" folder within www
当尝试从 Visual Studio 2015 构建或调试 iOS Cordova 应用程序时,使用最新版本的 Visual Studio Apache Cordova 工具 (14.0.50902.4),我遇到了在我的 Mac.
上通过 remotebuild 构建期间,任何名称为 "plugins" 的文件夹都将从 www 目录中被忽略的问题
在 www 文件夹之外的实际 cordova "plugins" 目录不受影响。
重现步骤 -
- 在 Mac 上,打开终端并 运行 远程构建
- 在 PC 上,通过 Visual Studio 触发 iOS 构建或调试,并打开一个 Cordova 项目。
- 在 Mac 上,打开另一个终端并转到包含从 Visual Studio 发送到 remotebuild 以进行构建的远程构建文件的文件夹 -
/Users/someuser/.taco_home/remote-builds/taco-remote/builds/xxxxx/cordovaApp/
然后我可以看到 cordova 的正常 "plugins" 文件夹。但是 www 文件夹中的其他插件文件夹将丢失。
当我们升级到最新版本的 cordova 工具和 visual studio(使用 visual studio 2013 时正在运行)后,我目前正在使用的 cordova 应用程序变成空白时发现了这个问题
最近有人遇到过这个吗?
此外,如果我将 "plugins" 文件夹的名称更新为大写 "Plugins" - 那么就不会有任何问题,文件夹和其中的文件将被发送到 Mac / remotebuild for building :P 如果只有 1 或 2 个我自己创建的插件文件夹,这会起作用,但我们也有第三方 javascript 库,这些库使用 bower 下拉,这些库有插件文件夹会导致问题(例如,我们使用 Durandaljs,它也有自己的插件文件夹)
我已按照说明使用此 link - https://msdn.microsoft.com/library/dn757054(v=vs.140).aspx#ios
在我的 Mac 上安装 remotebuild
提前致谢。
感谢您使用我们的 Apache Cordova VS 工具并报告问题。这是 remotebuild 工作方式的合法问题,我们会在下一个版本(即将发布)中修复此问题。请留意 npm for remotebuild 上的发布。到那时,请通过将 "plugins" 文件夹重命名为其他名称来解决此问题。
谢谢,
浸泡。
我几天前安装了 Cordova Tools Update 3,也遇到了这个问题。 Android 插件编译正常,但缺少 iOS 插件。
在 Mac 上,我 运行 这些版本:
Xcode: 6.4
Cordova: 5.3.3
node: 0.10.40
remotebuild: 2.0.1
taco-remote-multiplexer: 1.1.1
taco-remote-lib: 1.1.1
这是我到目前为止尝试过的方法:
- Uninstall/reinstall Windows 端的工具
- 更新了 Mac 端的工具
- 删除 iOS 平台并将其重新添加到 Cordova 项目
- 删除并重新添加所有插件
- 正在将项目中的
plugins
文件夹重命名为 Plugins
- 在 Visual Studio 中使用插件创建了一个全新的 Cordova 项目
- 手动删除项目中
platforms
文件夹的内容,并删除项目plugins
文件夹中的ios.json
和ios_remote.json
文件
这是我注意到的:
- 当我在 Visual Studio 中构建时,传输到 Mac 的应用程序的
.tgz
文件 是否 包含我的插件,但是 Xcode 项目不包含任何插件(不是丢失,只是根本不包含)。构建成功,但由于缺少插件(没有相机,没有钥匙串),应用程序功能减少。
安全模式下的 - 运行 在更新后对我的 Mac 不起作用。我必须在配置文件和 Visual Studio 的设置中禁用安全模式才能成功连接。打开安全模式会导致此 VS2015 错误:基础连接已关闭:发送时发生意外错误。
remote-builds/taco-remote/builds/xxxxx/cordovaApp/plugins
目录只有ios.json
个文件。
remote-builds/taco-remote/builds/xxxxx/cordovaApp/platforms/ios/myappname/Plugins
只有一个README
文件。
- 在更新 3 之前,这两个目录都充满了插件代码文件。
cordova_plugins.js
文件之前有一长串插件信息,现在只有这个:
cordova.define('cordova/plugin_list', function(require, exports, module) {
module.exports = [];
module.exports.metadata =
// TOP OF METADATA
{}
// BOTTOM OF METADATA
});
修改此文件没有任何作用,因为构建过程似乎动态包含插件信息并在编辑后将其还原为此信息。
是否有手动解决方法将这些包含在 iOS 构建中?我们还能做些什么来帮助解决这个问题?
UPDATE:我没有撤消我在项目中将 plugins
文件夹重命名为 Plugins
的测试,并执行了清理然后重建。现在插件似乎正在正确复制到 iOS。我想我的经验教训是在解决像这样的 Cordova 应用程序问题时,始终执行 Rebuild,而不是增量 Build。
丹的回答让我很开心!
对我来说,将 plugins
文件夹重命名为 Plugins
很神奇。
如果您使用 Visual Studio 来构建您的 .ipa,验证插件未被遗漏的最简单方法是将 .ipa 的扩展名重命名为 .zip 并在任何归档软件中打开它。只需导航到 Payload\<your app id>.app\www
文件夹。如果您看到 plugins
文件夹,那表示您很酷,否则 - 插件将无法在您的 iOS 应用程序中使用。
希望对大家有所帮助。
当尝试从 Visual Studio 2015 构建或调试 iOS Cordova 应用程序时,使用最新版本的 Visual Studio Apache Cordova 工具 (14.0.50902.4),我遇到了在我的 Mac.
上通过 remotebuild 构建期间,任何名称为 "plugins" 的文件夹都将从 www 目录中被忽略的问题在 www 文件夹之外的实际 cordova "plugins" 目录不受影响。
重现步骤 -
- 在 Mac 上,打开终端并 运行 远程构建
- 在 PC 上,通过 Visual Studio 触发 iOS 构建或调试,并打开一个 Cordova 项目。
- 在 Mac 上,打开另一个终端并转到包含从 Visual Studio 发送到 remotebuild 以进行构建的远程构建文件的文件夹 -
/Users/someuser/.taco_home/remote-builds/taco-remote/builds/xxxxx/cordovaApp/
然后我可以看到 cordova 的正常 "plugins" 文件夹。但是 www 文件夹中的其他插件文件夹将丢失。
当我们升级到最新版本的 cordova 工具和 visual studio(使用 visual studio 2013 时正在运行)后,我目前正在使用的 cordova 应用程序变成空白时发现了这个问题
最近有人遇到过这个吗?
此外,如果我将 "plugins" 文件夹的名称更新为大写 "Plugins" - 那么就不会有任何问题,文件夹和其中的文件将被发送到 Mac / remotebuild for building :P 如果只有 1 或 2 个我自己创建的插件文件夹,这会起作用,但我们也有第三方 javascript 库,这些库使用 bower 下拉,这些库有插件文件夹会导致问题(例如,我们使用 Durandaljs,它也有自己的插件文件夹)
我已按照说明使用此 link - https://msdn.microsoft.com/library/dn757054(v=vs.140).aspx#ios
在我的 Mac 上安装 remotebuild提前致谢。
感谢您使用我们的 Apache Cordova VS 工具并报告问题。这是 remotebuild 工作方式的合法问题,我们会在下一个版本(即将发布)中修复此问题。请留意 npm for remotebuild 上的发布。到那时,请通过将 "plugins" 文件夹重命名为其他名称来解决此问题。
谢谢, 浸泡。
我几天前安装了 Cordova Tools Update 3,也遇到了这个问题。 Android 插件编译正常,但缺少 iOS 插件。
在 Mac 上,我 运行 这些版本:
Xcode: 6.4
Cordova: 5.3.3
node: 0.10.40
remotebuild: 2.0.1
taco-remote-multiplexer: 1.1.1
taco-remote-lib: 1.1.1
这是我到目前为止尝试过的方法:
- Uninstall/reinstall Windows 端的工具
- 更新了 Mac 端的工具
- 删除 iOS 平台并将其重新添加到 Cordova 项目
- 删除并重新添加所有插件
- 正在将项目中的
plugins
文件夹重命名为Plugins
- 在 Visual Studio 中使用插件创建了一个全新的 Cordova 项目
- 手动删除项目中
platforms
文件夹的内容,并删除项目plugins
文件夹中的ios.json
和ios_remote.json
文件
这是我注意到的:
- 当我在 Visual Studio 中构建时,传输到 Mac 的应用程序的
.tgz
文件 是否 包含我的插件,但是 Xcode 项目不包含任何插件(不是丢失,只是根本不包含)。构建成功,但由于缺少插件(没有相机,没有钥匙串),应用程序功能减少。
安全模式下的 - 运行 在更新后对我的 Mac 不起作用。我必须在配置文件和 Visual Studio 的设置中禁用安全模式才能成功连接。打开安全模式会导致此 VS2015 错误:基础连接已关闭:发送时发生意外错误。
remote-builds/taco-remote/builds/xxxxx/cordovaApp/plugins
目录只有ios.json
个文件。remote-builds/taco-remote/builds/xxxxx/cordovaApp/platforms/ios/myappname/Plugins
只有一个README
文件。- 在更新 3 之前,这两个目录都充满了插件代码文件。
cordova_plugins.js
文件之前有一长串插件信息,现在只有这个:cordova.define('cordova/plugin_list', function(require, exports, module) { module.exports = []; module.exports.metadata = // TOP OF METADATA {} // BOTTOM OF METADATA });
修改此文件没有任何作用,因为构建过程似乎动态包含插件信息并在编辑后将其还原为此信息。
是否有手动解决方法将这些包含在 iOS 构建中?我们还能做些什么来帮助解决这个问题?
UPDATE:我没有撤消我在项目中将 plugins
文件夹重命名为 Plugins
的测试,并执行了清理然后重建。现在插件似乎正在正确复制到 iOS。我想我的经验教训是在解决像这样的 Cordova 应用程序问题时,始终执行 Rebuild,而不是增量 Build。
丹的回答让我很开心!
对我来说,将 plugins
文件夹重命名为 Plugins
很神奇。
如果您使用 Visual Studio 来构建您的 .ipa,验证插件未被遗漏的最简单方法是将 .ipa 的扩展名重命名为 .zip 并在任何归档软件中打开它。只需导航到 Payload\<your app id>.app\www
文件夹。如果您看到 plugins
文件夹,那表示您很酷,否则 - 插件将无法在您的 iOS 应用程序中使用。
希望对大家有所帮助。