2017年1月28日土曜日

F10 フライトパッケージ: WebM サポートの追加 (ふたば、4chan)

2017/01/31 追記: これらの機能は1.3.340 としてリリースされました。
http://ddlgjp.blogspot.jp/2017/01/f10-webm.html

F10 image bbs browser で 機能追加を行っています。
現在、ある程度動く版を F10 テストグループ向けに配布中です。

お試し頂ける場合、 tickets アットマーク ddlg.uservoice.com まで、お使いのマイクロソフト アカウントのメールアドレスをお伝えください。 グループに登録します。

グループに登録されている場合、以下の機能を持つバージョン 1.3.334 がダウンロードされます。

ストアへのリンク(テストグループに入っていない場合は一般向けバージョンがダウンロードされます)
https://www.microsoft.com/store/apps/9nblggh1ntrd

問題の報告・提案等ありましたら、フィードバック Hub からお伝えください。F10 の設定 → About ページからフィードバック内のカテゴリ「F10」を直接開くことが出来ます。


WebM サポート


ふたば・4chan のWebM 動画をアプリ上で再生できます。再生にはFFmpegInterop ライブラリを使用しています。

https://github.com/Microsoft/FFmpegInterop

PC・Mobileでの動作は確認済みです。XboxOne / Hololens は動くはず・・ですが未確認です。


PCでの再生



Win10 Mobile

既知の問題


Win10 Mobile: 再生開始時、エラーである・このフォーマットをサポートしていない旨の警告が表示される事があります。数秒待つと大抵は再生できます。


スレ履歴の同期


デバイスを指定した履歴の同期が可能になります。
カタログペインの設定⚙️→リモート で以下の画面が開きます。
デバイスをタップすると、履歴を同期します。




この機能は、Windows 10の機能、所謂 Project Rome と呼ばれる技術を使用しています。

Cross-device experiences with Project Rome
https://blogs.windows.com/buildingapps/2016/10/11/cross-device-experience-with-project-rome/


既知の問題

正直な所、Rome はまだ不安定な所があり、接続に失敗する・デバイスが見つからない等が頻繁に発生します。

既に分かっている所では以下の問題があります。
  • RS1(Anniversary Update, 1607)  から RS2(Creators Update, Insider preview)  への接続に失敗する
  • RS2  から RS1  への接続時、Pull のみ成功し、Syncに失敗する

F10 - Flight Package: WebM Support for 4chan & futaba

Edit 31/Jan/2017 - 1.3.340 was released to public.
http://ddlgjp.blogspot.jp/2017/01/f10-webm-remote-history-sync-support.html

We're now testing the new features of our F10 image bbs browser.
It's a UWP application for browsing the image bbs - 4chan and futaba-channel.

To involve with our test group, inform me your Microsoft Account address to our support mail ' tickets - atmark - ddlg dot uservoice dot com '. I'll add you to our test group. Then, you can download the beta version 1.3.334.

Link for store (If you have not participated in the test group, you can download the released version, not beta)
https://www.microsoft.com/store/apps/9nblggh1ntrd

If you have suggestions or issues, please let me know via Feedback Hub. You can launch the category 'F10' in the hub from F10 > Settings > About.


WebM support


F10 now support WebM movie with FFmpegInterop.

https://github.com/Microsoft/FFmpegInterop

It works on Windows 10 PC and Mobile ( and, maybe xboxone or hololens - could you test it? I don't have it. )


Playing WebM


Win10 Mobile

Known issue


Mobile: You may see the error or warning message if you open the .webm video. But the movie will start after the several seconds.

Remote history sync





You can sync the browsing history of F10 browser with remote devices that use your Microsoft Account.
This function use the 'Project Rome' - new feature of Win10 Anniversary Update.

To open the remote sync dialog, Open thread catalog > Settings > Remote.


Cross-device experiences with Project Rome
https://blogs.windows.com/buildingapps/2016/10/11/cross-device-experience-with-project-rome/


Known issue

In fact, the Rome is not stable yet. You may experience the connection error, api error, or not responding frequently. :(

In our cases,

  • Fail to connect from RS1 system to RS2 system
  • Fail to connect from RS2 to RS1, with 'Sync' switch enabled.









2017年1月26日木曜日

F10 - Flight Package: ふたば動画、明示的な履歴の同期

2017年1月29日追記:フライトパッケージは version 1.3.334 に移行しています
http://ddlgjp.blogspot.jp/2017/01/f10-webm-4chan.html


F10 image bbs browser で 機能追加を行っています。
現在、ある程度動く版を F10 テストグループ向けに配布中です。
試しに使わせて!という場合は、tickets アットマーク ddlg.uservoice.com までメールでご連絡下さい。

グループに登録されている場合、以下の機能を持つ バージョン 1.3.330 がダウンロードされます。


ふたば 動画対応


ふたば掲示板上でWebM 動画が貼られている場合、同一鯖上のMP4 動画をF10 の画像表示ウィンドウ内で再生します。



Win10 PC での再生


Win10 Mobile での再生(横位置)
プレイヤー側の全画面ボタンを押すと全画面になります



この機能が使えるのは上の場合のみで、それ以外…
  • しおから
  • 4chan
  • その他リンク
では動作しません。


明示的なスレ履歴の同期


デバイスを指定した履歴の同期が可能になります。
カタログペインの設定⚙️→リモート で以下の画面が開きます。
デバイスをタップすると、履歴を同期します。
上のトグルスイッチは、
  • Pull Only - 接続先デバイスから履歴を取得します。
  • Sync - 接続先デバイスとの間で履歴を同期します。





使用条件


  • 今回のバージョン 1.3.330 以上のF10 がインストールされていること
  • 電源が入っていること
  • 同じマイクロソフト アカウントでログインしていること
  • インターネットに接続していること

判明している不具合


現在の所以下の不具合が判明しています。おそらくPreview上の問題と思われます。

  • RS1(Anniversary Update, 1607)  から RS2(Creators Update, Insider preview)  への接続に失敗する
  • RS2  から RS1  への接続時、Pull のみ成功し、Syncに失敗する

使用にあたってのコツ


  • 「Available」と出ていても本当に繋がるかどうかは実際繋げてみないとわかりません(この表示やめるかも)
  • Cloud 接続の場合、同期に少し時間がかかります(十数秒程度)
  • Proximalで十秒、Cloudで十数秒待っても何も始まらない場合、それは何かトラブっています。それ以上待っても無駄なので、キャンセルで終了して頂いて構いません(この処理も後で変えるかもしれません)。

背景


この機能は所謂 Project Rome と呼ばれる、Windows 10 Anniversary Updateから入っている機能を利用しています。

Cross-device experiences with Project Rome
https://blogs.windows.com/buildingapps/2016/10/11/cross-device-experience-with-project-rome/

このため、Cloud経由でも同期が効きます。例えば…外で電話回線に繋げているWin10 Mobile から、自宅内LAN のWin10 PC に繋げに行くことが可能です。
ただし、上にも書いたように両方ログオンしている事が必要になります。

これまでも履歴の同期は Roaming Folderを使って対応していたのですが、このRoaming Folder は

  • 同期のタイミングがわかりにくい
  • たまに同期が止る
等の使いづらい所があったため、今回Rome を使った明示的な同期を追加した形になります。
(Roaming Folderを使った同期も機能としては生きています)


2017年1月17日火曜日

futa8, ごみ出しカレンダーの公開を終了しました

首記の通り、画像掲示板ブラウザ futa8, ごみ出しカレンダー の公開を終了しました。

futa8 については既に後継のF10 image bbs browser がある事、
ごみ出しカレンダー については利用者数が減っている事が終了の主たる理由になります。

これまでのご利用有難うございました。

2016年12月29日木曜日

Geofence Logger Test版リリース

2017/1/15 追記: 開発と公開を終了しました。

現在ストア上の公開は停止しています。テスト期間中にインストールされた方は使い続けることが出来ますが、再インストールはできません。

理由は、アプリ側では修正や回避のできない問題が発覚したためです。

この件、一ヶ月程度のロングランテストで発生せず、もう大丈夫だろう、と一度リリースしたのですが…2017年1月初頭にまた問題が発生してしまいました。
この問題が発生する場合、アプリの本質的な価値に関わる部分が達成できないため、終了する事にしました。
テストにお付き合いいただいた方には申し訳ないです。無念。

----------------

2017/1/10 追記: テストを終了しました。ご協力ありがとうございました。テスト中にインストール頂いたアプリについては料金無しでそのままお使い頂けます。

----------------

ジオフェンスの出入りを記録するアプリのテスト中です。
Windows 10 でお使い頂けるUniversal Windows Platform App で、主にWindows 10 Mobileでの使用を想定しています。

12月30日追記: 以下二件の問題を修正したver 1.3.24 をストアに置きました。以下のリンクからストアを起動し「更新」ボタンを押すとインストールされます。
  • NuAns NEO等、ソフトキー機種(電話下部の「戻る・ホーム・検索」ボタンが画面上に表示される機種)で、ジオフェンスの追加UIが隠れてしまう事がある
  • 起動に失敗する事がある




現在は機能は大体入った状態で、今後は複数環境で動作確認を行いつつ、見た目をもう少しかわいらしくしたいなと思っています。

  • Windows 10 Mobile を普段持ち歩いてお使いの方
  • 位置情報の記録に興味のある方

に、お試しで入れていただけると有り難いです。
動作報告、感想等ございましたら、設定→このアプリについて…からフィードバックHubに飛べるようになっていますので、こちらに入力して頂ければと思います。


メニュー→設定→このアプリについて


現在はテスト期間中につき無料でお使い頂けます。
終了後は有料(500円程度)を予定していますが、期間中にDLした人はそのまま無料で使い続けられますので少しオトクです(迷惑料)。


🍔🍔🍔

特徴




Geofence Logger は、予め設定したエリア「ジオフェンス」への進入・退出 を電話の位置情報を元に記録します。記録はバックグラウンドで自動的に行われるため、アプリを操作する必要はありません。

エリア・エリアのカテゴリ毎に、月毎の合計滞在時間を表示できます。

  • 日々のライフログ
  • 職場の個人的な出退勤記録 (原理上、正確な時間記録は難しいです…※1)

等にお使い頂けます。


進入・退出データは設定を行うことで、一日一回自動的にDropbox にバックアップできます。
バックアップしたデータは、別のシステム上のGeofence Logger アプリから参照することができます。
普段持ち歩くWindows 10 Mobile にアプリをインストールして記録を行い、その情報を自宅のWindows 10 PC にインストールしたアプリから閲覧する、という使い方が可能です。


お使い頂けるシステム


  • 進入・退出の記録 … Windows 10 Mobile
  • 記録の閲覧 … Windows 10 PC, Mobile

※ アプリ側では特にPC / Mobile での機能差はありません。しかし、進入・退出の記録に用いるにはスリープ中もジオフェンス情報取得が可能となるハードウェアが必要であり、PCでこういう使い方が出来る機種は少ないと思われます(instant-on が有効であり、スリープ中にGPSが生きているシステムならば可能かもしれないですが、実際テストしたことはありません)。


使い方


先ずは、記録したいエリアをジオフェンスとして登録する作業が必要になります。


ジオフェンス追加画面


地図上に青い半透明の円で表示されているのがジオフェンスです。このエリアへの進入・退出が記録されます。

この画面で、
  • ジオフェンスの場所
  • ジオフェンスの半径
  • 名前
  • カテゴリ
を設定します。

  • ジオフェンスの場所 … 地図を直接ドラッグ・スクロールしてください。地図左上の「場所を検索」で地点を検索できます。
  • ジオフェンスの半径 … 半径をプリセットの4種類、またはスライダで手動設定できます。

半径設定と測位の注意点


ジオフェンスへの進入・退出の記録は、数分~十数分に一度地点を測位する事で行われます。
このため、
  • 半径設定が小さすぎる
  • 移動速度が速い
場合、測位から次の測位への間に通過してしまい、進入・退出の記録に失敗する場合があります。

安定した記録を行うには、半径を広めに設定するのが効果的です。
また、広く設定しても…電車等での通過・乗り換え、地下鉄での移動等では記録に失敗する場合があります。

※1 このため、ある地点への「正確な」出入りの時間記録は難しいです。

測位手段はOSにより自動的に選択されますが、衛星の測位情報が使われることが多いです。このため、同じ地点でも受信状態により記録に失敗する場合があります。

十数分以上の滞在を伴う場合、安定した進入・退出の記録を行う事が可能です。



2016年10月6日木曜日

Windows Hello 対応 UWP Appの作成

この件、私から申し上げることはあまり無く…なぜかというと、以下二つの日本MS 松崎氏のBlog記事で過不足なく全て説明されているからです。
この二つのURLを貼るためにこの記事は存在しています。


Windows Hello を使った App 開発
https://blogs.msdn.microsoft.com/tsmatsuz/2015/07/30/windows-hello-app/

Web Authentication API 紹介 (Windows Hello を使ったEdge 開発)
https://blogs.msdn.microsoft.com/tsmatsuz/2016/06/08/w3c-web-authentication-api-javascript/


拙作 F10 image bbs browser のWindows Hello 対応も、ほぼ上掲の案内に沿ったものです。アプリ固有のKey Name/Valueを指定してKeyCredentialManager.OpenAsync で開き、帰ってきたopenResutでopenResult.Credential.RequestSignAsyncでDialogを出す…という。


◇◇◇


このBlog では何度かWindows Hello について扱ってきました。
  1. UBF-Hello について (DDS社の指紋認証モジュールについて)
  2. UWP App の Microsoft Passport 対応例 (F10 を Windows Hello に対応させた話)
  3. Windows Hello 対応 UWP アプリの作成 について(この記事)
リンクだけも何なので、Windows Hello 絡みの話・Twitterで話してた事などもここにまとめてみます。


Microsoft Passport と Windows Hello の違いって何?


これは答えるのが大変な奴でして…個人的には
  • Windows Hello ... Windows 10 から使える生体認証フレームワーク
  • Microsoft Passport ... Windows Hello も使う多要素認証フレームワーク、話としてはもっと引いた絵の奴
等と答えてごまかしていたのですが、今年、2016年の夏あたりから雲行きが変わってきまして…Anniversary Update のタイミングで、以下の表記がTechNetのWindows Hello / Microsoft Passport のあらゆるドキュメントに差し込まれました。


『初回リリース時の Windows 10 には Microsoft Passport と Windows Hello が含まれており、これらが連携して多要素認証を提供していました。 展開を簡略化してサポート性を向上するために、Microsoft ではこれらのテクノロジを Windows Hello という名前で 1 つのソリューションに統合しました。 これらのテクノロジを既に展開済みのお客様に対しては、機能の変更はありません。 Windows Hello ではポリシー、マニュアル、およびセマンティクスが簡略化されているため、Windows Hello をまだ評価していないお客様でも容易に展開できます。 』


「Windows Hello for Business を使った本人確認の管理」 より
https://technet.microsoft.com/ja-jp/itpro/windows/keep-secure/manage-identity-verification-using-microsoft-passport


つまりブランドとしてのMicrosoft Passport はそっと下げて、これからはまとめてWindows Hello と呼びましょう!という話ですね。一件落着!!!!

(MSDN やTechNet にはまだまだMicrosoft Passport表記があります。また、結局呼び方変わっただけなので実体はそのままです。)


Windows Hello 対応作業 にあたって必要なデバイスは?


特にありません。
Windows Hello では、対応する生体認証…

  • 指紋認証 ... PC / Mobile 内蔵 または外付けの指紋センサ
  • 顔認証 ... PC 内蔵または外付けの IR顔認証センサ
  • 虹彩認証 ... Mobile 内蔵 の虹彩(瞳の中のパターン)を見るセンサ

に加えて、

  • PIN ... Personal Identification Number, つまりキーボードで入力する暗証番号

が使用できます。
API 上、UWP App から認証に使うデバイスの違いは見えないため、何を使っていても同じように実装・テストの作業が可能です。PIN でも同じです。

…もちろん、実際に動作する生体認証デバイスが有った方が作業は楽しいです。
そんな時はマウスコンピュータさんの顔認証・指紋認証デバイスを使うといいですね :)

Windows Hello 対応 セキュリティデバイス (マウスコンピュータ)
http://www.mouse-jp.co.jp/abest/windows_hello/


※あまりないとは思うのですが…明示的にTPM を使うコードを書く・テストする場合、TPM対応のハードウェアが必要になります。
Intel 系はCore も Atom も大体大丈夫なのですが、実はAMDのA10等統合系チップが未対応です。TPM対応作業が必要な人は注意です。


Windows Hello の顔認証、写真を表示したスマホ見せれば破れるんじゃん?


MSさんのWindows Hello 顔認証 解説ページで説明されています。

Windows Hello 顔認証
日本語  https://msdn.microsoft.com/ja-jp/library/windows/hardware/mt450467
英語  https://msdn.microsoft.com/en-us/library/windows/hardware/mt450467

赤外線カメラを使うため、写真やモニタの像を見る「可視光」はカメラに映りません。





2016年9月21日水曜日

UWP App の Xbox One 対応でやったこと

今回、F10 Image bbs browser をXbox One に対応させる機会がありました。
やった事を忘れないうちにメモしておこう、という記事です。

この記事で触れない所


  • UWP 「ゲーム」アプリのXbox One対応 … ご承知とは思いますが、UWPゲームだけは別扱い、ID@XBOX でゲームのコンセプト確認プロセスがあるので全く別ルートです。今回は扱いません。
  • Xbox One 実機を使ったテスト・デバッグ … 私はXbox One 実機を持っていないのでこのあたりの経験が全くありません。PC+ゲームパッドでなるべく頑張り、後は持っている人に助けを仰ぐスタイルです。


参考になるドキュメント


今回、UWP App をXbox One 対応するにあたって、こなれたかなり良い文書(英語・日本語共に)が出ています。
これらを読みながら作業すればほぼ間違いないはずです。

Xbox およびテレビ向け設計 / Designing for Xbox and TV
日本語 https://msdn.microsoft.com/ja-jp/windows/uwp/input-and-devices/designing-for-tv
英語 https://msdn.microsoft.com/en-us/windows/uwp/input-and-devices/designing-for-tv

Xbox の ベストプラクティス / Xbox best practices
日本語 https://msdn.microsoft.com/ja-jp/windows/uwp/xbox-apps/tailoring-for-xbox
英語 https://msdn.microsoft.com/en-us/windows/uwp/xbox-apps/tailoring-for-xbox

※日本語情報は二か月ほど古く、いくつか間違いもあるようなので適宜英語版も参照するのがお勧めです。

この記事では、(基本的過ぎて)上の文書にあまり出てこない所を中心に、作業順に書いてみます。

xInput 対応ゲームパッドを入手する


PC上で作業するには、何は無くともまずこのxInput 対応ゲームパッドを用意するのがお勧めです。

UWP App とそのUI Controlは、既定でxInput ゲームパッドである程度操作可能になっています。
そして、ゲームパッドでの操作・フォーカス移動等重要な部分はPC+ゲームパッド と、Xbox One+ゲームパッドでほぼ同じです(※1)。
Xbox One 実機をお持ちであっても、まずPC上でゲームパッドでの操作を詰めてからXbox One 実機に転送・デバッグを行うことで、かなりの手間を省くことが可能です。

(Xbox One 実機をお持ちの場合、そのゲームパッドがそのままPCで使えます)


Amazonで「Xbox ゲームパッド」で検索した結果
どれでもOKです
私が使ってるのはエレコムの安いの


※1 完全に互換、では無いです。今回F10 のXbox One 対応では1件、Xbox Oneで発生するがPC上で再現しない、という問題がありました。この件は後でもう一度触れます。

※2 xInput ... UWP App が対応しているのはこの形式です。今お店で買えるXbox 360 以降用のパッドは全て xInput に対応しています。「大昔の」Windows用ゲームパッド…Microsoft Sidewinder 等、Win9xの頃のものはDirect Input 形式で、UWP Appでは使えません。


UWP App のターゲットバージョンを Anniversary Update (14393) に変更する


そもそも UWP App が Xbox One に対応できるのは AU SDK 以降なので、必須の作業です。

ここではTarget/Min両方を14393に設定しています。


マウスモードを無効にする


マウスモードを無効にする / How to disable mouse mode
日本語 https://msdn.microsoft.com/ja-jp/windows/uwp/xbox-apps/how-to-disable-mouse-mode
英語 https://msdn.microsoft.com/en-us/windows/uwp/xbox-apps/how-to-disable-mouse-mode


最低限これはやらないとXbox One 対応とは言いづらいと思います。
Xbox Best Practice でもいの一番に「マウスモードを切れ」と載っています(既定にすればいいのに)。

これを切らない(既定)場合、UWP App のコントロールは画面上に表示される「ポインタ」を方向キーで自由な位置に(マウスのように)移動させ、押したいところでAを押すというシステムになります。
マウスモードを無効にすることで、方向パッドでフォーカスを素早く移動する一般的なXbox のスタイルになります。

※ただしこの設定、PCでは入れても切っても全く変わらず、方向パッドで操作可能です。
これが微妙に罠なので、まず最初にばっすり切っておくのがお勧めです


◇◇◇


このあたりで下準備は大体終わりです。
ここからは、上で紹介した「Xbox および テレビ向け設計」を足掛かりに、

  • ゲームパッドで無理なく操作できるUI

を作り込んでいく作業になります。

今回のF10 の作業では、UI をXbox One に合わせて大きく変更するのは避け、基本的にはゲームパッド対応のみで済ませています。
(ゲームパッド対応は PC + ゲームパッドのみでも可能ですが、他の作業… TV セーフサイズへの対応や TV セーフカラー対応等は細かい作業が必要で、実機が無いと厳しいというのもあります。)

以下は、ゲームパッド対応を入れていて気が付いた点です。

フォーカストラップ・アクセスできないUI を地道に潰す


ガイドに従って XYFocus* や CodeBehind 等でフォーカスを調整し、ゲームパッドで無理のない操作ができるようにする作業が続きます。
その中で、以下の現象が何度も何度も現れました。これを潰すのがメインの作業と言ってもいいくらいでした。

  • フォーカストラップ ... フォーカスがあるコントロールにはまり込んでしまい抜けられない!!
  • アクセスできないUI … あるコントロールにフォーカスを合わせられない!!

どちらもPC 上ではマウスやキーボードで簡単に回避できるのですが、ゲームパッド「だけ」のXbox One の場合…ほぼ脱出手段が無く、一旦アプリを終了するしかなくなります。これはまずいです。

潰しきるためにはゲームパッドでひたすら色々操作を行い、見失う事が無いかを確認する必要があるでしょう。
今回の作業では、以下のような所に引っ掛かりました。

  • AutoSuggestBox から候補リストを開いて→閉じて戻って来る所は大体見失うので、CodeBehindやXYFocus*で明示的に設定する必要がありました。
  • Microsoft Store Services SDK に同梱のMS AdControl、フォーカスをゲームパッドで移動すると抜けられなくなります。isTabStop等も無いため困ります。私は汚い方法…AdControlのChildrenからWebViewを探し、そこにGotFocused でフォーカスが飛んで来たら別のコントロールに飛ばす、で対処しました。
  • ContentDialog 内に置かれたコントロール間でのフォーカス移動は注意したほうが良いようです。上で挙げた「Xbox Oneで発生するがPCのゲームパッドでは再現しなかった」問題がこれで、明示的にXYFocus*で指定する必要がありました。

このあたりのケーススタディは、MSさんガイド文書にも詳しく書いてありますので参考にして下さい。

また、MSさん文書にある「現在のフォーカス位置をDebugMessageに出力するCode Snippet」、あれはフォーカストラップ・アクセスできないUIの原因を探すには最強の武器です。是非使いましょう。

Focus Debug用Snippet



ContextFlyout をマウス・タッチ・ゲームパッド全対応にする


作業を始めてみるとわかる所ですが、操作の多くをContextFlyoutに頼る事になると思います。

このContextFlyout、
  • マウスの右クリック
  • タッチのタッチ&ホールド(いわゆる長押し)
  • ゲームパッドのメニューボタン
それぞれの操作に既定でマップされるので、今までRightTapped等で作っていた右クリックメニューを全部これに統一して、綺麗な実装にできそうです。

ただ同時に判るのが、GridView/ListView等、ListViewBase系での使い勝手が微妙な所です。

今迄のRightTappedでは、argument の RightTappedRoutedEventArgs の OriginalSource が RightTap されたアイテムのViewItemになっており、そのDataContext が Mapされている自前のDataItem、であるため、RightTap されたアイテムに対する操作を簡単に記述することができました。

ところがContextFlyoutでは…Opening・Opened 共、「Tapされたアイテム」の情報が入っていません。えー。困る。

仕方ないので、今回は小汚い手を使っています。
Eventの発生順は、
ContextFlyout の Opening
ContextFlyout の Opened
ListViewBase の RightTapped
です。
…なので、RightTapped が発生した時点で、Menuが開いていたらそのMenuを弄って目的のアイテムに対する操作にすりかえる、という。汚い。


ContextFlyout にアイコンを出す


この件Xbox One 特有では無く MenuFlyout一般にあてはまる話なのですが、MenuFlyout は既定だとアイコンが出なくて寂しいです。
私は以下の記事のテンプレートを丸々使っています。AppBarButton のように名前でSegoe MDL2 Assets を指定できて便利です。

[UWP]How to add an icon to a MenuFlyout in UWP?
https://social.msdn.microsoft.com/Forums/en-US/ef37ee55-0c73-4ca7-9946-f4c70bf095f5/



リリース


普通のUWP App と特に変わるところは無いです。対象とするDeviceFamily でXbox Oneにチェックを入れるくらいです。

ただ、一応Xbox One用のCompliance Testは回しているようです。F10 では一件、Xbox One特有のTestで引っ掛かったところがありました。


謝辞


今回の移植では、Xbox One 実機をお持ちのOssan50 さん、Parupo1467 さんに動作確認・テストの御協力を頂きました。有難うございました。