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

Ibm mobilefirst 构建iOS混合应用程序不会更新worklight.plist或root.plist文件,ibm-mobilefirst,worklight-studio,Ibm Mobilefirst,Worklight Studio,我正在MacBookAir(最新OSX)上运行WL6.1(6.1.0.01.20140310-1427)。我有一个dojo混合应用程序,我正试图连接到远程WL服务器。当我生成iOS应用程序并将worklight服务器的地址更改为远程服务器时。它不会更改生成的iOS代码中的地址。我的步骤如下: 打开生成设置并部署目标..。在混合应用程序文件夹中 选中“构建应用程序以与其他Worklight服务器一起工作”的复选框 输入新服务器信息并单击“确定” 构建所有环境 构建完成后,我启动xcode并查看wo

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

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

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


    有趣的是。我还有一个运行相同级别WL开发者插件的win7系统。我执行相同的步骤,worklight.plist文件在windows上正确更新,只是在osx中没有。唯一的区别是win7版本运行的是jre 1.7_21,而osx运行的是1.7_51。两者都是64位模式。

    我认为Mac和Windows机器之间的真正区别在于第5步,即“启动到xcode”。如果这意味着您实际上正在执行runas>Xcode项目,请参见下面的内容。此选项仅在Mac中可用,在Windows中不可用

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

    如果在将服务器地址更改为远程服务器(而不是本地开发服务器)并生成后,然后选择Run As>Xcode project,则会将服务器设置覆盖回本地开发服务器

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

  • 将应用程序构建并部署到本地Worklight Development服务器
  • 生成Xcode项目(这反过来会覆盖worklight.plist以使用本地服务器设置)
  • 在Xcode中打开生成的Xcode项目
  • 因此,如果您想使用具有远程服务器设置的应用程序,请在更改设置并构建应用程序后,执行以下任一操作:

  • 从您的iphone\package文件夹复制.zip文件
  • 在文件系统中导航到iphone\native文件夹,双击.xcodeproj文件以直接在Xcode中打开它(就像runas>Xcode项目所做的那样)

  • 对于Worklight的未来版本,正在考虑简化行为,以便无论您选择本地或远程服务器设置,Run As>Xcode project都将始终使用您选择的设置。

    感谢您的解释。这在哪里有记录?我一直在寻找,但没有发现任何东西,甚至提到这一点。这确实是尚未记录。计划在下一个Worklight 6.1.0.x fix pack.Idan发布时对此文档进行更新。您能否确认这是否在6.2+中进行了优化/修复?我可以确认优化,是的。