Swift 动态转换失败 - 尝试 运行 单元测试时出错

Swift dynamic cast failed - Error when trying to run unit tests

Xcode 版本 6.1.1 (6A2008a)

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

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

发生错误:

此转换发生错误:

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

阅读 this post 后:我从测试目标中删除了 AppDelegate.swift,但随后在构建时出现错误,因为编译器抱怨不知道转换中的 "AppDelegate"。我很困惑?!

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

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

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

  2. 我使用 #import AppName 语句

  3. 将主项目导入每个适当的测试 classes

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