在 iPad 上直接更新到 Windows 上的 Worklight Studio 开发服务器不起作用
Posted
技术标签:
【中文标题】在 iPad 上直接更新到 Windows 上的 Worklight Studio 开发服务器不起作用【英文标题】:Direct update on iPad to Worklight Studio development server on Windows not working 【发布时间】: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,只要您将指向的项目及其工件存在。 顺便说一句,你能在没有斜杠错误的情况下再试一次吗? 【参考方案1】:这确实是 Worklight 6.2 中的一个缺陷。
一方面,正如您在复制步骤中提到的,您需要从自定义服务器 URL 中删除前斜杠,以便能够连接到 Worklight Server(因为否则 URL 中有 2 个斜杠并且它连接失败)。
另一方面,客户端需要这个正斜杠。 您可以在 Wireshark 中看到这一点:
错误:GET /test3directUpdate/test3/iphone/1.0?skin=default HTTP/1.1 好:GET /test3/directUpdate/test3/iphone/1.0?skin=default HTTP/1.1
我为此打开了一个缺陷;您需要create a PMR 才能收到修复,一旦可用(或等到它通过 IBM Fix Central / Eclipse Marketplace 公开可用)。
【讨论】:
好的,我将创建一个 PMR。感谢您的支持。 我已经用最新的 worklight studio 更新对此进行了测试,现在它可以工作了。以上是关于在 iPad 上直接更新到 Windows 上的 Worklight Studio 开发服务器不起作用的主要内容,如果未能解决你的问题,请参考以下文章
更新到 Xcode 11 后,Xamarin iOS 应用程序在 iPad 上显示白色空白屏幕
如何用MAC上的Safari检查iPhone手机App运行的Html页面
可以从 Windows 机器在 iPad 上远程调试 javascript 吗?