ios - 测试 Xcode 项目时无法访问 AppDelegate

标签 ios xcode swift unit-testing

<分区>

func testExample() {
    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
    // some code ...
}

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

Could not cast value of type 'MyAppName.AppDelegate' (0x10dc09e80) to 'MyAppNameTests.AppDelegate' (0x11cc190c0).

最佳答案

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

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

@testable import MyAppName

XCode 7 之前

import MyAppName

关于ios - 测试 Xcode 项目时无法访问 AppDelegate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31179382/

相关文章:

ios - try catch x : y: positions using VNFaceObservation

objective-c - 在swift中实现objective-c协议(protocol)

ios - 从 NavigationController 到 TabBarController

ios - 锁定时 AVAudioPlayer 在 iPhone 5 中不播放音频

ios - GridView 单元格向上滚动到 iOS 7 中的状态栏

ios - 在 ScrollView Swift 中忽略 Superview 的尾随空间

ios - 修剪视频而不显示 UIVideoEditorController?

ios - 如何设置uiimage的特定区域来处理触摸手势?

xcode - 如何将Table View中的导航栏设置到顶部?

ios - 在 collectionView 中取消隐藏所选单元格的 'tick'