在设备上运行时无法连接到领域对象服务器

时间:2017-04-16 09:34:02

标签: swift realm

我在设备上连接到Realm Object Server时遇到问题,但它可以在模拟器上运行。 它是返回错误:

Error Domain=NSURLErrorDomain Code=-1004 "Could not connect to the server." 
UserInfo={NSUnderlyingError=0x170255450 {Error 
Domain=kCFErrorDomainCFNetwork Code=-1004 "(null)" UserInfo=
{_kCFStreamErrorCodeKey=61, _kCFStreamErrorDomainKey=1}}, 
NSErrorFailingURLStringKey=http://127.0.0.1:9080/auth, 
NSErrorFailingURLKey=http://127.0.0.1:9080/auth, _kCFStreamErrorDomainKey=1, 
_kCFStreamErrorCodeKey=61, NSLocalizedDescription=Could not connect to the 
server.}): file 
/Users/tungvu/Desktop/Swift3Xcode8/RealmTask/RealmTask/ViewController.swift, 
line 57

这是我与Realm Object Server功能的连接:

SyncUser.logIn(with: .usernamePassword(username: username, password: password, register: false), server: URL(string : "http://127.0.0.1:9080")!) { (user, error) in
        guard let user = user else {
            fatalError(String(describing: error))
        }

        DispatchQueue.main.async {
            // Open Realm
            let configuration = Realm.Configuration(
                syncConfiguration: SyncConfiguration(user: user, realmURL: URL(string: "realm://127.0.0.1:9080/~/realmtasks")!)
            )

1 个答案:

答案 0 :(得分:2)

从外观上看,您使用的是本地主机IP地址127.0.0.1。虽然这适用于与Realm Object Server实例(即iOS模拟器)在同一设备上运行的应用程序,但您需要本地网络上的机器的实际IP地址才能从单独的设备连接,如一部iPhone。

查找网络IP地址的最简单方法是按住Alt键,然后单击macOS状态栏中的Wi-Fi图标:

Wi-Fi IP Address

如果您使用Mac的网络IP地址替换127.0.0.1,则其他设备应该可以连接到它。这也适用于iOS模拟器,因此在您的机器的IP地址发生变化之前不需要更改它。