0

我们在 App 的 iOS 部分看到了一个奇怪的行为:

我们正在使用带有 XCode 插件的 Jenkins Build Server 在命令行上编译应用程序

起初,我们在 SVN 中的 iPhone“本机”文件夹中有一个 SVN 忽略。因此,所有内容都取自 common,整个原生项目由 Jenkins 服务器上的 worklight Ant 脚本生成。然后由 jenkins 上的 xcode 编译,该应用程序与直接更新一起正常工作 - 对话框有一个“更新”和一个“退出”按钮,两个按钮都按预期工作。

然后我们在项目中添加了一个 CustomWebView,并且必须将本机文件夹包含到 SVN 中。我们尝试 SVN.ignore 所有生成的文件,Worklight Studio 和 Jenkins xcode 服务器上的构建过程都可以正常工作。除了添加了两个类之外,我们没有更改任何生成的代码:

WebViewOverlayPlugin.h
WebViewOverlayPlugin.m

并将插件添加到 config.xml:

<plugin name="WebViewOverlayPlugin" value="WebViewOverlayPlugin"/>

但:

  • 当我们在 Worklight Studio 中编译相同的 SVN 代码时,我们有一个 iPhone 应用程序,它有一个直接更新对话框,整个对话框中只有一个“更新”按钮。根本没有“退出”按钮。

  • 当我们在 Jenkins Xcode 服务器上编译相同的 SVN 时,我们有一个 iPhone 应用程序,它有一个带有“更新”和“退出”按钮的直接更新对话框,但“退出”按钮没有按预期工作 - 按下它时,应用程序保持打开状态并关闭对话框,因此用户可以继续使用旧版本的应用程序而无需更新。“更新”按钮起作用并更新应用程序。

所以我的问题是,什么构建设置、生成的文件或配置等可能会对直接更新对话框的行为产生任何影响。由于我们使用完全相同的 SVN 源,因此它必须与生成的某些内容或某些配置有关。

这种奇怪的行为有什么已知的吗?

是否知道可以将直接更新对话框“配置”为只有一个“更新”按钮而没有“退出”?

感谢大家提供任何帮助或提示,我们可以进一步调查。

4

1 回答 1

1

您没有提到您的 Worklight 版本,而是从 Worklight 5.0.6.x 开始:

  1. 直接更新对话框将只有 1 个按钮 - 更新。退出按钮已删除。这样做是为了符合 Apple 的 App Store 提交指南。

  2. 更一般地说,WL.App.close API 方法被呈现为“非功能性”,因为根据 Apple 的指导方针,应该给予用户退出应用程序的控制权,而不是应用程序这样做。将其视为“确定”按钮而不是“退出”。

也就是说,您不应该一开始就看到退出按钮。但同样,我不知道您的 Worklight 版本是什么,以及您的构建设置到底是什么,以了解那里发生的这种混合。

您不应该能够在直接更新中“配置”任何内容。在这方面它是不可配置的。

至于为什么用 Worklight Studio 构建时有 2 个按钮,但添加 WebOverlayPlugin 后只有 1 个按钮,这很有趣。应用程序是否有可能是较低的 Worklight 版本,而您现在正在使用更新版本的 Worklight 构建它,其中包含所做的更改,如上所述?

于 2013-08-14T04:32:30.780 回答