我维护了一组连接字符串(本地,dev,stg,prod),并且宁愿将其放在一个位置以仅更改一次。在开发和测试期间,我将这些保存在JSON文件中,并使用$ .getJSON捕获相关的连接字符串。

    var serviceBase;
    $.getJSON("../config.json", function (data) {
       serviceBase = data['serviceBase'];
    });


在本地计算机上进行测试但在模拟器或设备上进行测试时,此方法工作正常,我收到一条错误消息,即找不到文件;我认为这是对jQuery的getJSON的限制,使其无法访问iOS文件系统。

暂时,我已将连接字符串硬编码到我的javascript中;但是如何安全地在Ionic / Cordova应用程序中存储连接字符串?

最佳答案

如果用“安全”来表示安全,那么您将经历一段糟糕的时光。

无论将它们存储在哪里,都始终可以找到它们,即使将它们存储在已编译的Objective C代码中也是如此。

至于您无法访问文件系统的问题,那不应该是问题。您的网址中可能存在问题,因为您的网址中包含“ ../”。尝试将其取出,因此它只是“ config.json”。请记住,您正在使用一个页面应用程序,并且javascript在您所在页面的上下文中运行(index.html)。

当我们使用它时,为什么要使用JQuery?您可以使用Angular的$ http模块完成相同的操作。

var serviceBase;
$http.get("config.json").success(function (data) {
   serviceBase = data['serviceBase'];
});

09-30 17:52