【问题标题】:Direct Update with custom URL not working on iOS 7.1.2使用自定义 URL 直接更新在 iOS 7.1.2 上不起作用
【发布时间】:2019-09-19 11:17:10
【问题描述】:

自从我升级到 WL 6.2 后,直接更新不再适用于 iOS。 我想要实现的是让 iPad 和我的 Windows 机器直接更新。这样我就可以在我的 windows 机器上开发并使用直接更新将我的更改推送到 iPad (iOS 7.1.2)。以下场景描述了我的问题。

在 Mac 上的 worklight studio 中新建一个 WL 项目(今天刚刚安装了最新的 WL 插件(platformVersion=6.2.0.00.20140724-2139)。添加 iOS 作为环境并将 main.js 替换为以下代码:

function wlCommonInit(){
    WL.Client.connect({
        onSuccess: onConnectSuccess,
        onFailure: onConnectFailure
    });
}

function onConnectSuccess() {
    WL.Logger.debug("Connect success.");
}

function onConnectFailure() {
    WL.Logger.debug("Connect failed.");
}

将项目作为 Xcode 项目运行,并使用 Xcode 将应用程序部署到 iPad。现在按照以下步骤重现该问题:

  1. 在 index.html 中进行修改
  2. 在 Eclipse 中的本地 Worklight 服务器上重新部署应用程序
  3. 杀死您的应用并重新启动它
  4. 直接更新正在运行,您的更改会反映在您的应用程序中。是的!

现在作为一个非常基本的下一步,尝试使用带有自定义服务器 URL 的直接更新。在 iPad 设置中加粗使用自定义 URL 复选框,并将自定义服务器 URL 更改为本地服务器的 URL。

当我现在重试步骤 1 到 3 时,直接更新失败。启动时,应用程序通知我有可用更新,当我单击更新时,下载进度条出现,但永远保持在 0%。在自定义服务器 URL 中,我只将 IP 更改为我的 macbook 的 IP,并删除了项目名称后的破折号。我还尝试将 URL 更改为我的 Windows 开发机器的 URL(也使用最新的 WL eclipse 插件),但这会导致相同的行为。

最后一句话;我希望当我禁用使用自定义 URL 复选框时;直接更新将再次起作用。但事实并非如此。

【问题讨论】:

  • 这里的问题是项目名称后删除的破折号。因为每当您将应用程序部署到服务器时,它可以理解您的应用程序中的某些内容发生了变化,并将其作为直接更新推送到设备(或)模拟器。但是您的客户端不知道在哪里加载网络资源,即(“Source”)。这纯粹是我的假设,只需在 URL 末尾使用 / 即可。
  • Kawinesh,当我在项目名称后添加破折号并重试时,我进入了 onFailure 处理程序。当我使用 6.1 时也是这种情况,但是当我在 6.1 中删除破折号时,一切都会正常工作。只是要清楚;这是我的自定义 URL 的样子:http://172.17.22.50:10080/HelloWorld
  • 当您说“更改服务器 URL”时,这对我来说意味着您有一个外部服务器。正确的?如果是这样,在使用新资源构建应用程序后,您是否还获取 .wlapp 文件并通过更改服务器 URL 将设备中的应用程序指向的服务器 URL 部署到该服务器 URL?
  • Idan,我没有外部服务器。我只想做一个基本测试并使用自定义服务器 URL 连接到我的开发机器(mac)上的本地 eclipse 服务器。下一个测试是在我的 windows 开发机器上使用我的本地 eclipse 服务器的直接更新。这样,如果我想在 iPad 上测试新版本的应用程序,我就不需要每次都切换到 mac。这在 WL 6.1 中有效。
  • 但它已经收到了一个 URL。我不明白您将其更改为自定义 URL 是什么意思。我建议您使用完整的分步说明编辑问题,以帮助和重现您的问题。

标签: ios ibm-mobilefirst


【解决方案1】:

我已经尝试过了,但我无法确认它不起作用。

  1. 将代码 sn-p 添加到 main.js
  2. 在 application-descriptor.xml 中启用 worklightSettings
  3. 在 Worklight 开发服务器上运行
  4. 在 Xcode 中打开项目
  5. 运行
  6. 进行更改并重新部署
  7. 验证收到直接更新
  8. 退出应用
  9. 进行更改并重新部署
  10. 通过 Settings.app 打开 myapp 设置并启用自定义服务器 URL。该 URL 已经指向我的(相同)服务器
  11. 打开应用
  12. 验证收到直接更新

您在 cmets 中提到,一旦启用自定义服务器 URL 选项,您还需要将服务器地址更改为另一个 - 我建议您仔细检查您是否确实输入了正确的地址。也许你有几个网卡或类似的。

【讨论】:

  • 好的,我重新安装了 eclipse,现在它可以工作了。现在,在 iPad 上第一次部署后,我在自定义服务器 URL 中获得了正确的 ip。感谢您的支持。
【解决方案2】:

重新安装 eclipse 解决了这个问题。重新安装 eclipse 后,我还在服务器连接设置中获得了自定义服务器 URL 的正确 IP。

【讨论】:

  • 我刚刚找到了问题的根本原因。当我在 WL Studio 中创建一个新项目并将其部署在 iPad 上时,我可以使用直接更新。但是,当我使用新 IP 重新安装应用程序时出现问题,旧 IP 出现在自定义服务器 URL 中,并且直接更新不再起作用。
  • 我用这些新发现创建了一个新问题:stackoverflow.com/questions/25060696/…
猜你喜欢
  • 1970-01-01
  • 2017-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多