2016-10-28 15 views
1

XCodeシミュレータでRealmデモアプリケーション(link)を実行すると、期待どおり動作します。シミュレータを開発したりする場合にのみレルムアプリケーションはシミュレータでは動作しますが、実際のデバイスでは動作しません

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) 

は、レルムは、実際のデバイス上で動作するためのものです:私は(画面のロックが解除されている)私のテザリングされたデバイス上でそれを実行しようとすると、私は次のエラーを取得しますか?

+1

サーバーエラー接続が発生しました.IPアドレスを確認してください。あなたのコードから、あなたはIP 127.0.0.1に接続しようとしています。あなたのシミュレータ上で動作するかもしれません。デバイス上で実行している場合、127.0.0.1に相当するlocalhostはデバイス自体です。デバイスに実行中のサーバーがありません。だからこそあなたは答えを得ていないのです。 – Orlando

+0

ありがとうございました。だから私はデバイス上でテストするために展開された領域サーバをセットアップしなければならないでしょうか? – grabury

+1

そうです、サーバを配備し、それを指すIPを変更する必要があります。 – Orlando

答えて

2

オーランドが言っていることは正しいです。 MacでRealm Object Serverのローカルインスタンスを実行する場合は、デモアプリケーションのIPアドレスを「localhost」または「127.0.0.1」に設定するだけです。しかし、実際のデバイスにデプロイするときは、デバイスをローカルネットワークに接続するために、ローカルネットワーク上のMacのIPアドレスを入力する必要があります。これは「Alt」を押しながらMacのシステムバーにあるWiFiアイコンをクリックすることで簡単に見つけることができます。

Simulatorとデバイスビルドの間でIPアドレスを手動で変更するのは面倒ですので、Realm Tasks demo appでどのように行ったのかチェックしたい場合は、

アプリケーションをビルドすると、MacのIPアドレスを取得し、SwiftファイルにString変数として書き込むスクリプトが(プロジェクトの「ビルド段階」で)実行されます。この変数は、シミュレータ用に作成されていないことが検出されると、レルムコードで使用されます。

+0

これは私のために修正されました。ちょっと注意してください...あなたのデバイスを正しく接続するために、これらの行をMacのIP addreeで更新する必要があります... SyncUser.logIn(with:.... and syncConfiguration:SyncConfiguration –

+0

@TiM nice!Thx。 – oyalhi

関連する問題