Swiftにて、ビデオチャットアプリの開発を行っています。
iOSのサンプルをSwiftに書き換えて検証を行っているのですが、
PEER_EVENT_CALLイベント時に、UIAlertControllerにて、接続確認ダイアログを出すと、
ビデオチャットの接続が行われず困っております。
具体的には以下のようなコードを書いております。
func _setCallbacks(peer: SKWPeer?) {
~省略~
peer?.on(.PEER_EVENT_CALL, callback: {obj in
print("peer call")
if let connection = obj as? SKWMediaConnection {
let alertController = UIAlertController(
title: "接続許可"
, message: "\(connection.peer)から会話の要求がありました。\n会話を開始しますか?"
, preferredStyle: .Alert)
let cancelAction = UIAlertAction(title: "会話しない", style: .Cancel) {
action in
self.closedMedia()
}
let otherAction = UIAlertAction(title: "会話する", style: .Default) {
action in
self._mediaConnection = connection
self._setMediaCallbacks(self._mediaConnection)
self._mediaConnection?.answer(self._msLocal)
}
alertController.addAction(cancelAction)
alertController.addAction(otherAction)
self.presentViewController(alertController, animated: true, completion: nil)
}
})
~省略~
}
上記のようなコードにて、
相手からの接続があった際に、ダイアログの表示とほぼ同時に、
以下のようなログが出力されていて、
「会話する」ボタンを押しても接続できません。
peer call
2015-12-02 11:57:34.329 VideochatWork[2139:707814] <CATransformLayer: 0x1516027d0> - changing property masksToBounds in transform-only layer, will have no effect
2015-12-02 11:57:34.330 VideochatWork[2139:707814] <CATransformLayer: 0x151607450> - changing property masksToBounds in transform-only layer, will have no effect
2015-12-02 11:57:34.330 VideochatWork[2139:707814] <CATransformLayer: 0x14ffcd400> - changing property masksToBounds in transform-only layer, will have no effect
ダイアログを出さずに、otherAction内に書かれている処理を直接呼びf出すと、
正常に接続が行われます。
iOS開発に慣れていないということもありますが、
いったい何が原因なのかわからず、途方に暮れております。
解決方法などのアドバイスをいただければ幸いです。
どうぞよろしくお願いいたします。
> 2015-12-02 11:57:34.329 VideochatWork[2139:707814] <CATransformLayer: 0x1516027d0> - changing property masksToBounds in transform-only layer, will have no effect