我们在 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 源,因此它必须与生成的某些内容或某些配置有关。
这种奇怪的行为有什么已知的吗?
是否知道可以将直接更新对话框“配置”为只有一个“更新”按钮而没有“退出”?
感谢大家提供任何帮助或提示,我们可以进一步调查。