【发布时间】:2015-06-23 12:31:06
【问题描述】:
我有两个目标 app 和 appTests。我也有类Wine 和框架Realm 和'RealmSwift',它们与这两个目标相关联。当我在 traget app 中使用类 Wine 时也不例外。
但是当我想像这样运行测试时
appTests.swift(22 行)
import UIKit
import XCTest
import RealmSwift
class appTests: XCTestCase {
func testRealmAdd() {
NSFileManager.defaultManager().removeItemAtPath(Realm.defaultPath, error: nil)
let realm = Realm()
let wine = Wine() // when error occure
wine.photo = "photo"
wine.desc = "description"
wine.raiting = 3.0
realm.write { () -> Void in
realm.add(wine)
}
let result = realm.objects(Wine)
print("\(result)")
XCTAssertTrue(result.count == 1, "There should be one element")
}
}
Wine.swift(10 行)
import UIKit
import RealmSwift
class Wine: Object {
dynamic var desc: String = ""
dynamic var photo: String = ""
dynamic var raiting: Double = 0
}
然后appTests.swift的第8行出现异常
同名的 RLMObject 子类不能在同一个目标中包含两次。请确保“Wine”仅与您当前的目标链接一次。
我已经清除了 DerivedData 和项目。你能建议我去哪里看吗?
在 nhgrif 评论后编辑
好的,第 7 行中似乎出现了一个异常。由于 nhgrif,现在在代码中标记了该异常。
【问题讨论】:
-
第 8 行是哪一行?这可能与源代码无关,而是与您如何将框架链接到项目有关。
-
@nhgrif 我添加了教程中提到的那些框架 realm.io/docs/swift/latest/#getting-started ,然后我将
Realm.framework、RealmSwift.framework和Wine.swift标记为在 Target Membership
标签: ios xcode swift unit-testing realm