title: WebRTC signaling state never change to HaveLocalAnswer on iOS
body: <p>i'm wondering why after <code>createAnswerWithDelegate</code> peerConnection's signalingState never change to <code>RTCSignalingHaveLocalPrAnswer</code>?
  The call trace is:</p>
  
  <pre><code>if(peerConnection.signalingState == RTCSignalingHaveRemoteOffer) {
              NSLog(@"Setting Remote Offer desc");
              [peerConnection createAnswerWithDelegate:self constraints:_constraints];
          }
  </code></pre>
  
  <p>then</p>
  
  <pre><code>-(void)peerConnection:(RTCPeerConnection *)peerConnection didCreateSessionDescription:(RTCSessionDescription *)sdp error:(NSError *)error
  {    
      if(error) {
          NSLog(@"Error - %@", error.description);
      }
      else {
          NSLog(@"Setting Local Desc");
          [peerConnection setLocalDescriptionWithDelegate:self sessionDescription:sdp];
      }
  }
  </code></pre>
  
  <p>and then in <code>-(void)peerConnection:(RTCPeerConnection *)peerConnection didSetSessionDescriptionWithError:(NSError *)error</code> firing this condition <code>if(peerConnection.signalingState == RTCSignalingStable)</code> so I have to manually create answer and force send him. What am I doing wrong?</p>