【问题标题】:How to get App name in UITesting swift 4 iOS如何在 UITesting swift 4 iOS 中获取应用程序名称
【发布时间】:2018-03-27 12:26:23
【问题描述】:

我试图在 UITesting 中获取我的应用名称。我尝试了以下代码:

let appName = Bundle.main.object(forInfoDictionaryKey: "CFBundleDisplayName") as! String

但它给了我 nil 值的结果。

【问题讨论】:

  • 您是否从您的APP的项目设置中设置了DisplayName??

标签: ios iphone xcode-ui-testing


【解决方案1】:

当我试图找出“debugDescription”是否提供有关实际应用(而不是测试应用)的任何信息时,我偶然发现了一个看起来与应用显示名称完全相同的标签。

我不知道它是否对你有帮助,但以下简单的代码行帮助了我:

XCUIApplication().label

【讨论】:

  • 不幸的是,它只有在您的应用程序正在运行时才有效,不是吗?
  • @FlavioBittencourt 是的。但是,如果您将该名称存储在 let 常量中,然后终止应用程序,然后使用该名称就可以了
【解决方案2】:

您确定在 Info.plist 文件中设置了显示名称吗? 只需在项目设置或 Info.plist 中设置此名称即可:

【讨论】:

  • 是的。已经在 Xcode 的 UITest 的 info.plist 中添加了这个。但它不起作用。
  • 您应该将此添加到您的主要应用目标的 Info.plist 中,而不是在测试目标中。您确定将其添加到您的主要目标中吗?
【解决方案3】:

如果您在工作区环境中,请尝试转至文件 > 工作区设置;对于常规项目环境,请尝试转至文件 > 项目设置。

然后点击 Derived data 部分下的灰色小箭头并选择您的项目文件夹以将其删除。

和产品 > 清洁。 它在许多情况下都有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-17
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多