はつねの日記

Kinect, Windows 10 UWP, Windows Azure, IoT, 電子工作

Leap対応アプリがWACKチェッククリアして審査中

前回⇒Leap対応アプリで審査の壁が越えられない

Windows 8 Clinicの特別診療科目-相談科」にも相談して回答いただきましたが、やはり、leap.dllやleapCSharp.dllを使う方法はこの2つがWACKを通るようにしてもらうしかないようです。どこかにソース公開されていたらいのですが。

対策3:WebSocketでつなげる

ということで、まあこれなら大丈夫だろうと考えていた方法で対応します。ほんとはなんか負けた感じがして嫌なのですが。

その方法とは、Leap Motionが標準装備しているWeb ServiceにWebSocketでつないでJSONでもらった位置情報をLeapSharp.NET.4.0.dllのライブラリからの戻り値のように加工してしまう方法です。

この方法であれば、leap.dllもleapCSharp.dllもその先のVC++ 2010ラインタイムも関係なくなります。

予想通りWACKも無事通り、ストア申請の自動チェックも問題なくクリアしています。

image

 

ここから先は、審査担当者へのコメントに「本アプリの動作にはLeap Motionが必要です。また、127.0.0.1へのループバック通信を行います。」と記載して専用デバイスが必要であることを伝えています。

 

さて、ここでもう1点注意しなければならないのは、Package.appxmanifestでの指定です。機能タブで「インターネット(クライアント)」のチェックがあることを確認してください。デフォルトでチェックされているので意図的に外していなければ大丈夫です。

 

さて肝心のWebSocketでのやりとりですが次のようなコードで行っています。

    Public Async Function Connection() As Task
        Try
            Client = New MessageWebSocket
            Client.Control.MessageType = SocketMessageType.Utf8
            Await Client.ConnectAsync(New Uri("ws://127.0.0.1:6437/"))
            Me.MessageWriter = New DataWriter(Client.OutputStream)
        Catch ex As Exception
        End Try
    End Function

 

審査が完了したら改めてお知らせします。