PhoneGap/Cordova隐藏选项,用于在测试环境中配置端点



当您的需求是签署并发布完全相同的包时,您如何测试混合应用程序?您有一个AJAX调用要访问的硬编码URL,但实际上这个端点在测试环境和生产环境中需要是不同的。

  • 覆盖hosts文件不是一个选项,因为它需要root所有的测试设备。
  • 服务和主机自定义DNS服务器或HTTP代理是多余的。
  • 有一个应用程序选项是违反要求的,最终用户不能暴露于这样的设置。
  • 有一个cookie可选择覆盖URL将工作,但我如何手动添加一个cookie到一个混合应用程序在平板电脑上运行?
  • 有一个本地存储设置可选择覆盖URL将工作,但如何手动更改本地存储?

是否有一种方法可以拥有但隐藏应用程序配置选项,从最终用户设置?

测试在iOS平板电脑上运行原生应用程序包。

如果您真的想始终发布完全相同的代码,您可以轻松地使用本地存储。在你的应用中:

if(!localStorage.getItem('env')) localStorage.setItem('env', 'production');
switch(localStorage.getItem('env') {
    case 'testing': endpoint = 'http://testserver'; break;
    case 'production': endpoint = 'http://productionserver'; break;
}

然后打开浏览器控制台,输入:

localStorage.setItem('env', 'testing');

你可能无法在移动浏览器或Cordova中打开控制台,但如果你真的需要:重新考虑"相同的包"的事情。我想不出任何合理的理由,为什么你不想做不同的测试和生产构建。

相关内容

  • 没有找到相关文章

最新更新