我已将Realm.framework和RealmSwift.framework文件添加到我的项目嵌入式二进制文件中。当我写"导入Realm"在我的swift文件中,它说"没有这样的模块Realm"
我正在使用Xcode 7和realm-swift-0.93.2。你可以帮我解决这个问题吗?
答案 0 :(得分:2)
请检查应用目标的RealmSwift.framework
构建设置中是否列出了Framework Search Paths
的父路径。与Xcode 6不同,Xcode 7 beta1-3中不再自动设置该值(也许这是一个错误,在beta4中修复)。通常值为$(PROJECT_DIR)
。
但是,realm-swift-0.93.2
与Xcode 7和Swift 2不兼容。即使上述问题已得到解决,也会出现另一个错误。 (也许Module file was created by an older version of the compiler
)
要将RealmSwift与Xcode 7和Swift 2一起使用,您应该自己从源代码构建框架,或者使用像CocoaPods这样的包管理器来构建和集成到您的项目中。我强烈建议使用CocoaPods。安装与Swift 2兼容的Realm的说明在这里:https://realm.io/docs/swift/latest/#installation-swift-20
答案 1 :(得分:1)
确保不仅在测试目标中(如当前文档所指出的那样),而且在应用目标的构建设置中,确保RealmSwift.framework
的父路径列在“框架搜索路径”中建立设置。
答案 2 :(得分:0)
我不知道您的项目有什么问题,但您可以尝试使用Realm Objective-C。
创建桥接标题。
在桥接标题中添加:
#import "Realm/Realm.h"
从您的代码中删除所有import Realm
语句,包括RLMSupport.swift
现在应该可以了。例如,我将其放入我的ViewController.swift
import UIKit
class Person: RLMObject {
dynamic var name = ""
dynamic var birthdate = NSDate(timeIntervalSince1970: 1)
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let author = Person()
author.name = "David Foster Wallace"
// Get the default Realm
let realm = RLMRealm.defaultRealm()
// Add to the Realm inside a transaction
realm.beginWriteTransaction()
realm.addObject(author)
realm.commitWriteTransaction()
// Print all Persons
println(Person.allObjects())
}
}
打印哪些:
RLMResults <0x7fa1c3f44760> (
[0] Person {
name = David Foster Wallace;
birthdate = 1970-01-01 00:00:01 +0000;
}
)
来自HERE的参考。
HERE正在开展项目。
答案 3 :(得分:0)
对于Swift,您需要导入RealmSwift而不是Realm。
答案 4 :(得分:0)
要通过Swift软件包管理器包含Realm,方法将类似于:
// swift-tools-version:5.0
import PackageDescription
let package = Package(
name: "SomeExampleApp",
products: [
// ...
],
dependencies: [
//...
.package(
url: "https://github.com/realm/realm-cocoa.git",
from: "3.18.0"
),
],
targets: [
.target(
name: "SomeExampleApp",
dependencies: ["Realm", "RealmSwift", /*...*/],
// ...
)
],
swiftLanguageVersions: [.v5]
)
//
// SomeExampleAppFile.swift
//
import Foundation
import Realm
import RealmSwift
// code, code, code ...