【发布时间】:2014-08-04 09:55:41
【问题描述】:
我想在我的 Windows 机器上开发并通过直接更新将我的更改推送到 iPad (iOS 7.1.2) 测试设备。这在 WL 6.1 中对我有用,但自从我更新到 WL 6.2 后,我遇到了一些问题。以下场景描述了我的问题。
- 创建新的 WL 项目并将 iPad 添加为环境
- 在 application-descriptor.xml 中启用 worklightSettings
- 将下面的代码sn-p添加到main.js中
- 在 Worklight 开发服务器上运行
- 通过 eclipse 在 Xcode 中打开项目
- 在 Xcode 中清理项目并在 iPad 上运行
- 进行更改、重新部署并验证已收到直接更新
- 将项目复制到Windows机器并在eclipse中打开
- 在 Windows 机器上的 Worklight Development Server 上运行
- 通过 Settings.app 打开应用设置并启用使用自定义服务器 URL
- 用你的 windows 机器的 IP 替换你的 mac 的 IP
- 在 Windows 上:进行更改并重新部署
- 在 iPad 上重新启动应用程序
当我重新启动我的应用程序时,我在我的 Windows 机器上的 Worklight 开发服务器控制台中收到以下异常:
[WARNING ] SRVE0190E: File not found: //apps/services/api/HelloDirectUpdate/ipad/init
[ERROR ] FWLSE0048E: Unhandled exception caught: SRVE0190E: File not found: //apps/services/api/HelloDirectUpdate/ipad/init
当我修改自定义服务器 URL 并删除最后一个斜杠时,我收到更新可用的消息。但是当我单击更新时,下载弹出窗口中的进度条不会移动。我的 Windows 机器和 MAC 都具有以下 WL Studio 版本:platformVersion="6.2.0.00.20140724-2139"。我究竟做错了什么?
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.");
}
【问题讨论】:
-
为什么不反其道而行之……?在 Windows 机器上创建您的项目。它将获取 Windows 机器的 IP 地址。将本机文件夹复制到 Mac,在 Xcode 中运行它...运行它等等。在 Windows 机器上进行更新。
-
我不明白,如果您只能将服务器 URL 指向创建项目的机器,为什么还有更改服务器 URL 的选项?我们有多个开发人员,我们共享一台 iPad,那么这种设置是不可能的吗?如果我想将我的 iPad 连接到集成服务器怎么办?为什么在您创建项目的机器上很重要?
-
整个功能并不是为了让您的开发环境更轻松。它最初是为壳牌开发而制作的。您尝试将其完全用于其他用途的事实很好,但不是它的意图。
-
此外,您可以将其指向您想要的任何 Worklight Server,只要您将指向的项目及其工件存在。
-
顺便说一句,你能在没有斜杠错误的情况下再试一次吗?
标签: ibm-mobilefirst worklight-runtime