1

当我在 XCode 模拟器上运行 Realm 演示应用程序(链接)时,它按预期工作。当我尝试在我的联机设备上运行它时出现以下错误(屏幕已解锁):

fatal error: Optional(Error Domain=NSURLErrorDomain Code=-1004 "Could not connect to the server." UserInfo={NSUnderlyingError=0x1740467b0 {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/grant/Apps/RealmTasksTutorial/RealmTasksTutorial/ViewController.swift, line 47
2016-10-28 11:16:59.148862 RealmTasksTutorial[1930:429715] fatal error: Optional(Error Domain=NSURLErrorDomain Code=-1004 "Could not connect to the server." UserInfo={NSUnderlyingError=0x1740467b0 {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/grant/Apps/RealmTasksTutorial/RealmTasksTutorial/ViewController.swift, line 47
(lldb) 

Realm 在开发时是要在实际设备上工作还是只在模拟器上工作?

4

1 回答 1

2

奥兰多所说的是正确的。在 Mac 上运行 Realm Object Server 的本地实例时,您只需将演示应用程序中的 IP 地址设置为“localhost”或“127.0.0.1”。但是在部署到实际设备时,您需要在本地网络上提供 Mac 的 IP 地址,以便设备连接到它。您可以通过按住“Alt”并单击 Mac 系统栏中的 WiFi 图标轻松找到它。

手动更改模拟器和设备构建之间的 IP 地址是乏味的,所以如果你想看看我们是如何在Realm Tasks 演示应用中做到的。

在构建应用程序时,会运行一个脚本(在项目的“构建阶段”中),它将获取 Mac 的 IP 地址,然后将其作为String变量写入 Swift 文件。当它检测到它不是为模拟器构建时,该变量然后在领域代码中使用。

于 2016-10-28T19:21:00.163 回答