【发布时间】:2016-05-09 14:27:04
【问题描述】:
我想将我的应用程序的一些功能封装在一个动态框架中。在这个框架中,我想使用 Realm 来持久化一些数据。
当然,测试框架的方法是使用 XCTest。但是,除了我的 XCTestCase 子类中的 import 语句之外,对 Realm 的任何使用都会出现这个奇怪的错误:
我使用 Copy Files 阶段在我的框架中包含了 Realm.framework 和 RealmSwift.framework。我也试过不这样做。我尝试在我的测试目标中链接 Realm 和 RealmSwift,而不是链接它们。我已经尝试了我能想到的一切。我不知道发生了什么。
这是一个目前几乎什么都不做的框架。有一个Object 子类,根本没有任何属性,还有一个测试用例,它只是设置了 Realm 配置进行测试,然后什么都不做:
Realm.Configuration.defaultConfiguration.inMemoryIdentifier = "TestFrameworkTests"
按照documentation 中的建议。
对Realm 对象或任何Realm 类执行任何操作都会导致这个奇怪的错误。它变得有点奇怪:
1/02/2016 6:50:44.784 PM com.apple.debugserver-@(#)PROGRAM:debugserver PROJECT:debugserver-340.4.119
[80894]: 1 +0.000000 sec [13bfe/1303]: error: ::read ( 3, 0x700000080a40, 1024 ) => -1 err = Bad file descriptor (0x00000009)
错误的文件描述符。那是从哪里来的?这是一个 Xcode 错误吗?如果是这样 - 有没有人找到解决方法?
这里是框架的副本,如果你想弄乱它:https://www.dropbox.com/s/q1708dw7uuaakoo/TestFramework.zip?dl=0
【问题讨论】:
-
您的项目在我的机器上构建和运行。尝试重新启动计算机?此类问题可能是由于僵尸进程过多造成的。
-
测试运行正常吗?真的吗?出于兴趣,您正在运行哪个版本的 Xcode?我越来越怀疑这是一个 Xcode 错误。
-
更新:重启并没有解决任何问题。也没有吹走 DerivedData。