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

标签 objective-c swift

Xcode 版本 6.1.1 (6A2008a)

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

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

发生错误:

此转换发生错误:

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

看完this post :我从测试目标中删除了 AppDelegate.swift,但在构建时出现错误,因为编译器提示不知道转换中的“AppDelegate”。我糊涂了?!

最佳答案

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

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

enter image description here

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

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

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

关于objective-c - Swift 动态转换失败 - 尝试运行单元测试时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28042105/

相关文章:

ios - 屏幕旋转后如何调用sizeForItemAtIndexPath方法

ios - PHFetchResults 日期过滤器没有为时间范围生成正确的结果

ios - NSDateFormatter 没有给出预期的结果

iphone - 如何读取/解析 UIWEBVIEW 中加载的 PDF 内容

ios - 应用程序在点击时崩溃并显示消息 : 'this class is not key value coding-compliant for the key postReplyButton.'

ios - 将 NSManagedObject 复制到 Swift 中的临时 NSManagedObject

swift - 在 swift 4 中将 TableView 添加到 AlertController

iOS7 Storyboard图像选择器不工作 :(

ios - 如何在 Swift 中增大或减小按钮的大小?

ios - 如何在单元格 Swift 2 中删除项目后重新加载 tableview