【问题标题】:Cannot access AppDelegate while testing Xcode project [duplicate]测试 Xcode 项目时无法访问 AppDelegate [重复]
【发布时间】:2015-07-02 08:30:15
【问题描述】:
func testExample() {
    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
    // some code ...
}

上面的函数总是崩溃并给出这个错误:

无法将“MyAppName.AppDelegate”(0x10dc09e80) 类型的值转换为“MyAppNameTests.AppDelegate”(0x11cc190c0)。

【问题讨论】:

    标签: ios xcode swift unit-testing


    【解决方案1】:

    您可能正在将 AppDelegate 编译到您的测试目标中。不要这样做。

    相反,只编译成您的普通应用目标 MyAppName。在你的测试类中用 XCode 7 编写

    @testable import MyAppName
    

    XCode 7 之前

    import MyAppName
    

    【讨论】:

    • 在我的测试类中写入“@testable import MyAppName”会给我这个错误:Unknown attribute 'testable'
    • 那你不要使用 XCode 7。在 XCode 7 之前删除 '@testable'。
    • 那也没用
    • 同样的错误信息?确定 AppDelegate 的目标不是 MyAppNameTest 吗?
    • @GerdCastan 你能详细说明你的答案吗?为什么编译到您的测试目标中不好?我怎样才能“只编译成你的普通应用程序目标”。我有一个类似的问题,但是当我“导入 MyAppName”时,我得到“没有这样的模块“MyAppName””,我怀疑这是关于我不明白的事情,但是你知道...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-22
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2020-02-20
    相关资源
    最近更新 更多