构建iOS混合应用程序不会更新worklight.plist或root.plist文件

时间:2014-04-30 03:00:43

标签: ibm-mobilefirst worklight-studio

我在macbook air(最新的OSX)上运行WL 6.1(6.1.0.01.20140310-1427)。我有一个dojo混合应用程序,我试图连接到远程WL服务器。当我生成iOS应用程序并且我将worklight服务器的地址更改为远程服务器时。它不会更改生成的iOS代码中的地址。我遵循的步骤是:

  1. 打开构建设置并部署目标.. 。在混合应用程序文件夹上。
  2. 选中构建应用程序以使用其他Worklight服务器的复选框。
  3. 输入新服务器信息,然后单击“确定”
  4. 构建所有环境
  5. 构建完成后,我启动到xcode并查看worklight.plist和Root.plist文件。
  6. 此时他们仍在引用我的本地服务器。如果我编辑它们指向远程服务器,那么我的应用程序工作。由于每次进行构建时都会重新生成这些文件,因此这不是有效的解决方案。

    为了验证我的应用程序中没有任何内容,我创建了一个默认的dojo混合应用程序。执行上面列出的步骤。当我启动到xcode时,Root.plist和worklight.plist仍然具有默认的本地服务器信息。

    所以这是有趣的事情。我还有一个运行相同级别的WL开发人员插件的win7系统。我执行相同的步骤,并在Windows上正确更新worklight.plist文件,而不是在osx中​​。唯一的另一个区别是win7版本正在运行jre 1.7_21,其中osx运行1.7_51。两者都处于64位模式。

1 个答案:

答案 0 :(得分:3)

我相信Mac和Windows机器之间的真正区别在于第5步,您将“启动到xcode”。如果你的意思是你实际上在做Run As> Xcode项目,然后见下文。此选项仅在Mac中可用,而不在Windows中。

这是Worklight 6.0.0.x和6.1.0.x中的预期行为。

如果将服务器地址更改为远程服务器(而不是本地开发服务器)并构建,然后选择运行方式> Xcode项目,这将把服务器设置覆盖回本地开发服务器。

运行方式> Xcode项目执行3个操作:

  1. 构建&将应用部署到本地 Worklight Development Server
  2. 生成Xcode项目(这反过来将worklight.plist重写为使用本地服务器设置)
  3. 在Xcode中打开生成的Xcode项目
  4. 因此,如果您想将应用程序与远程服务器设置一起使用,那么在更改设置并构建应用程序后,可以:

    1. 从your-iphone \ package文件夹中复制.zip
    2. 在文件系统中导航到iphone \ native文件夹,然后双击.xcodeproj文件在Xcode中直接打开它(就像运行方式> Xcode项目那样)
    3. 对于Worklight的未来版本,正在考虑简化行为,以便无论您选择本地还是远程服务器设置,运行方式> Xcode项目将始终使用您选择的项目。