2017-04-26 16 views
1

Swift 3でiOS用のアプリケーションを開発しています。Bonjourサービスでこのアプリケーションを検索しています。ローカルネットワーク内で特定のサービスを使用しているロボットがいくつかあります。例えばrobot.localとshowそれらをリストに入れます。 Bonjourサービスは私にデバイスのドメインを与えます。これは、検索されたドメインの例です。Rosbridge(Web Sockets)に接続するとエラーが発生する

ユーザがリストの要素をクリックすると、例:

  • robot1.local

  • robot2.local

次のステップです。このアクションは、デバイスとのWebソケットによる接続を開始し、Iphoneとのコントロールのために接続します。私は、接続のためにRocketSocketライブラリを使用するRBManagerと呼ばれるライブラリを使用しています。このライブラリはRosBridgeに接続するのに役立ちます。

私は、接続のためにこのコードを使用

NSURLRequest * request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"wss://192.168.0.100:9090"]]; 
self.socket = [[SRWebSocket alloc] initWithURLRequest:request]; 
self.socket.delegate = self; 
[self.socket open]; 

問題は、私は何の問題を持っていないが、私はIPAファイルまたはTestFlightでアプリをインストールしていたときのXcodeでアプリをインストールしていたときであります接続が拒否され、このエラーが表示されます。

managerDidFailWithError Optional(ErrorDomain=NSOSTatusErrorDomain Code=-9807 "(null)" UserInfo={_kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9807})

私は図書館でこのissueを見つけましたが、私は必要なソリューションではありません。

私はinfo.plistで非アクティブなATSですが、このエラーの解決方法はわかりません。誰か助けてくれますか?

info.plist

答えて

0

私は問題を発見しました。問題は、私のRosBridgeバックエンドがTLSで動作していて、実装していないということでした。

解決策は、クライアントとすべての作業で認証を実装しています。D

+0

ようこそ。質の高い回答を提供するためには、この[how-to-answer](http://stackoverflow.com/help/how-to-answer)をお読みください。 – thewaywewere

関連する問題