【问题标题】:Swift dynamic cast failed - Error when trying to run unit testsSwift 动态转换失败 - 尝试运行单元测试时出错
【发布时间】:2015-01-20 09:45:33
【问题描述】:

Xcode 版本 6.1.1 (6A2008a)

错误:libswiftCore.dylib`swift_dynamicCastClassUnconditional 和 Swift 动态转换失败

我正在尝试测试,但遇到了这个错误,我不确定如何修复。有人可以对此有所了解吗?

发生错误:

这个演员发生了错误:

var delegate = UIApplication.sharedApplication().delegate as AppDelegate

在阅读this post 之后:我从测试目标中删除了 AppDelegate.swift,但是在构建时出现错误,因为编译器抱怨不知道演员表中的“AppDelegate”。我糊涂了?!

【问题讨论】:

    标签: objective-c swift


    【解决方案1】:

    好吧,经过一番折腾,问题终于解决了:

    1. 我从应用程序主要(非测试)部分的文件中删除了所有测试目标成员资格,包括 AppDelegate。

    1. 我将我需要访问(从应用程序的测试部分)的所有类(在应用程序的主要部分)更改为公开,并将这些类的所需方法也设置为公开) .

    2. 我使用#import AppName 语句将主项目导入到每个适当的测试类中

    希望能为其他人节省一些时间.. :)

    【讨论】:

    • 这对我帮助很大。唯一不好的是你必须将所有内容都更改为公开 :(
    • 第 3 步是我将主项目中的 swift 文件添加到测试目标后缺少的内容。谢谢!!
    猜你喜欢
    • 2011-05-22
    • 2013-01-01
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 2012-12-09
    • 2023-04-04
    • 2017-10-12
    • 2023-03-06
    相关资源
    最近更新 更多