每次打开应用程序并调用适配器调用后,Worklight 应用程序都会更新

Posted

技术标签:

【中文标题】每次打开应用程序并调用适配器调用后,Worklight 应用程序都会更新【英文标题】:Worklight app updates every time after opening app and calling adapter call 【发布时间】:2014-10-29 21:43:06 【问题描述】:

我正在使用Worklight 6.2 Consumer Edition,并已完成以下配置formmy App:

application-descriptor.xml 配置

<iphone applicationId="MyApp" bundleId="ex.am.ple"  version="1.0" securityTest="customTests">
        <worklightSettings include="false"/>
        <security>
            <encryptWebResources enabled="false"/>
            <testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3"/>
        </security>
    </iphone>

authenticationConfig.xml 配置 **

<customSecurityTest name="customTests">
            <test realm="wl_antiXSRFRealm" step="1"/>
            <test realm="wl_authenticityRealm" step="1"/>
            <test realm="wl_remoteDisableRealm" step="1"/>
            <test realm="wl_anonymousUserRealm" isInternalUserID="true" step="1"/>
            <test realm="wl_deviceAutoProvisioningRealm" isInternalDeviceID="true" step="2"/>
        </customSecurityTest>

**

我为我的应用发布更新 --> 打开我的应用 --> 调用适配器过程 --> 应用请求更新 --> 应用得到更新 --> 关闭应用 --> 打开我的应用 -->调用适配器过程 --> 应用请求更新。

每当我关闭我的应用程序并调用适配器程序时,都会发生上述情况。是设备没有保留更新的资源还是我的配置有问题?

【问题讨论】:

1.这是发生在 Eclipse 的开发环境中,还是在外部服务器的生产环境中?如果它在外部服务器中,请提供完整的步骤 - 从构建 .wlapp 到部署它。你在做什么? 2. 为什么需要调用适配器来获取更新?你没有在你的应用中使用 wl.client.connect 吗? WL.Client.connect() 调用存在于 main.js 文件中的应用程序中。但是应用程序在应用程序启动时没有得到更新,而是在用户登录(通过适配器过程调用)成功后显示更新对话框。我在 QA Environment 中测试已经通过 ANT 脚本构建了所有内容。我已经通过 ant 脚本部署了 .war,然后通过 worklight 控制台部署了适配器和应用程序 .wlapp 文件。 你能分享日志吗? 设备的ios版本? 检查设备日志以确认文件是否正在下载?可能是下载被中断了。 【参考方案1】:

我可以想到两种会触发重复直接更新请求的场景:

    设备上安装的 Web 资源与部署到 Worklight Server 的 Web 资源不同,反之亦然;如果您进行更改(并将应用从 Eclipse 安装到设备,但不更新服务器;这是重复直接更新请求的秘诀),您需要确保始终重新部署更新的 .wlapp。

    您的拓扑中有多个服务器,但它们没有同步,因此每当应用程序连接时(如果您有负载均衡器),它会在服务器之间跳转,其中一个更新,另一个不更新. .wlapp 应部署到所有服务器,但更重要的是,服务器应设置为服务器场。

【讨论】:

我现在只使用一台服务器,第二点在我的情况下根本无效。关于第一点,更新后服务器网页资源和设备网页资源不同步怎么办? 再次测试,但不使用 Ant 脚本。从 Eclipse 构建。还会发生吗?

以上是关于每次打开应用程序并调用适配器调用后,Worklight 应用程序都会更新的主要内容,如果未能解决你的问题,请参考以下文章

android光标未关闭错误

每次打开组件时如何调用函数?

在 RecyclerView 适配器中调用片段并获取 id

quartus调用modelsim仿真每次都要重新打开modelsim吗?联合仿真每次都要关闭modelsim再重新打开吗?

quartus调用modelsim仿真每次都要重新打开modelsim吗?联合仿真每次都要关闭modelsim再重新打开吗?

IBM Worklight 6.1 - 升级到 v6.1 后,iOS 5 中的适配器调用失败