自从我升级到 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。现在按照以下步骤重现问题:
- 修改index.html
- 在 eclipse 中的本地 worklight 服务器上重新部署该应用
- 终止您的应用并重新启动
- 直接更新正在运行,您的更改已反射(reflect)在您的应用中。是啊!
现在作为非常基本的下一步,尝试使用带有自定义服务器 URL 的直接更新。勾选 iPad 设置中的使用自定义 URL 复选框,并将自定义服务器 URL 更改为本地服务器的 URL。
当我现在重试步骤 1 到 3 时,直接更新失败。在启动时,应用程序通知我有更新可用,当我单击更新时,下载进度条出现但永远保持在 0%。在自定义服务器 URL 中,我只将 IP 更改为我的 macbook 的 IP,并删除了项目名称后的破折号。我还尝试将 URL 更改为我的 Windows 开发机器的 URL(也使用最新的 WL eclipse 插件),但这会导致相同的行为。
最后一点;我希望当我禁用“使用自定义 URL”复选框时;直接更新将再次起作用。但事实并非如此。
最佳答案
我试过了,但无法确认它是否有效。
- 将您的代码片段添加到 main.js
- 在 application-descriptor.xml 中启用 worklightSettings
- 在 Worklight Development Server 上运行
- 在 Xcode 中打开项目
- 运行
- 进行更改并重新部署
- 验证已收到直接更新
- 退出应用
- 进行更改并重新部署
- 通过 Settings.app 打开 myapp 设置并启用自定义服务器 URL。该 URL 已经指向我的(同一)服务器
- 打开应用
- 验证已收到直接更新
您在评论中提到,一旦启用自定义服务器 URL 选项,您还需要将服务器地址更改为另一个 - 我建议仔细检查您确实输入了正确的地址。也许您有多个网卡或类似的东西。
关于ios - 使用自定义 URL 直接更新在 iOS 7.1.2 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24892458/