あいてぃーとふぼふ

Windows Phone評価用端末プログラム当選メール!

どうやらWP7界隈では「Windows Phone 評価用端末プログラム」の当選者に当選メールが送信されたようですね♪当選された方々はおめでとうございます~!

落選してもスネないで!

そしてわたしにも、無事に当選メールが届き…ませんでした(´・ω・`)まぁ今まで抽選に当選したことなんて一度も…… いや過去に一度だけありました!「コミックボンボン」の懸賞で「新SDガンダム外伝 ナイトガンダム物語」というゲームボーイソフトのサントラCDを貰ったことがありました。…そんな昔に一度きり…orz

でもね?別にだからといって、別にスネてなんていませんし。もし当選したら、3Dとかジャイロセンサーとか使っていろいろ開発しようと思っていたので、モチベーションは大幅ダウンですよ?あ、でも別に評価用端末プログラムの当選メールが届かなかったからスネてるとか、そういうのではありません。今月はなぜか、モチベーションが上がらないから更新頻度が低いですけど。でもホント、評価用端末プログラムに落選したからスネてるとか、そういうのはホント、大人としてアレですので!

理由は明白!

先週に更新申請した「MetroGnome」も、なかなか審査結果が返ってきません。初回に申請したときよりも時間が掛かってますねぇ。

でもね?オジサン理由はわかってます!おそらく評価用端末プログラムに当選した人たちが一斉にアプリを申請しているからに違いありません@しつこい!

APP HUBにアプリの更新を申請する際の注意事項!

既存のアプリケーションをWindows Phone 7.5にアップグレードした後で、APP HUB(アップハブ)にアプリの更新を申請する際につまずいたポイントをご紹介します。

その1:NeutralResourcesLanguage属性は必須!

APP HUBから、更新する対象となるXAPファイルをアップロードした際に、右図のような「エントリ アセンブリに [NeutralResourcesLanguage] 属性が存在しません。」エラーが発生しました。どうやらXAPファイルにNeutralResourcesLanguage属性を付与する必要があるようです。方法は簡単でして、メインとなるプロジェクトの「AssemblyInfo.cs」に[assembly: NeutralResourcesLanguageAttribute("ja-JP")]と記述すればOKです(名前空間はSystem.Resources)。これで再度XAPファイルをアップロードすれば問題は解決…

…とはいきませんでした。今度は左図の「更新プログラムでサポートする言語の数は、更新前のアプリケーション インスタンスでサポートしていた数より少なくできません。」エラーが発生しました。要約すると、どうやら「前回はカルチャを英語で申請したんだから…今回も英語にしなさいよね!」ってことらしいです。ですので、先程の記述を[assembly: NeutralResourcesLanguageAttribute("en")]に変更して、再度XAPファイルをアップロードすることにより問題は解決しました。

なおこれは、アプリケーションをWP7.5用にアップグレードする際の問題です。このため、RC版のWPSDK7.1からプロジェクトを新規に作成した場合はあらかじめNeutralResourcesLanguage属性が定義されていますので、上記の問題には遭遇しないハズです。ただし、例によって「Windows Phone Silverlight/XNA アプリケーション」は少し詰めが甘く、なぜかNeutralResourcesLanguage属性が定義されていませんでした。このため、RC版のWPSDK7.1において作成したSL+XNAアプリケーションを申請される方は、上記のエラーにご注意ください。

その2:韓国とブラジルは面倒くさい!

どうせなら、日本だけでなく全世界にアプリケーションが公開されるように設定して申請を完了しようとしたところ、申請手順の最後に左図のような「DJCTQ評価と認定の少なくともどちらかがありません」エラーと「GRB評価と認定の少なくともどちらかがありません」エラーが発生しました。う~ん…パッと見だと何が悪いのかよくわかりません(汗。

APP HUBの申請手順において、左図のようにアプリを公開する国を選択する画面があるのですが、よくみると韓国(GRB)とブラジル(DJCTO)にのみアスタリスク(必須マーク)が付加されていました。しかも、何やらファイルをアップロードする欄が設けられています。つまり上記のエラーを要約すると、アプリケーションを韓国もしくはブラジルに公開する場合は、ファイル的な”何か”を指定する必要があるみたいです。その”何か”がなにかはよくわかりませんが…今回は韓国とブラジルへの公開は諦める(上記の画面からチェックを外す)ことにより妥協しました。そもそも「GRB」とか「DJCTO」って…なんだろう?(´・ω・`;)

残るは審査が通るか否か!

以上が、更新の申請時につまずいたポイントです。なお今回の更新では、色々と実験的な要素を盛り込んでいるため、一発で審査に通るかどうかは微妙です。

例えば、今回はSL+XNAという技術を利用してアプリケーションを再構築しており、SL+XNAが審査規約の4.2.5に抵触しないことを確認したいと思います。また今回は、意図的にアプリケーションを終了させる際にSilverlightからXNAのGame.Exitメソッドを利用しています。この方法は本来、審査規約の4.2.5に抵触する方法なのですが、仮にSL+XNAが上記の審査規約に抵触しないのであれば問題はないハズ…といったような実験を多数盛り込んでいます。

もし審査に落ちたとしても、それはそれで初めての経験ですので得るものは大きいのですが。…それでもやはり、願わくば一発で通ってほしいものです…|д ̄) …ということで「MetroGnome」の国内公開まで今しばらくお待ちいただけましたら幸いです!m(_ _;)m

Windows Phone 7.5 対応時の問題点!

今回は「Windows Phone 7.0」のアプリケーションを「Windows Phone 7.5」にアップグレードする際に遭遇した問題とその解決策をご紹介します。以前に作成した「MetroGnome」というアプリをアップグレードしたのですが、なかなかに一筋縄ではいきませんでした…orz。

その1:実行時にビヘイビアやトリガーが登録できない!

前回の投稿でご紹介した通り、Visual Studioの「Windows Phone 7.1 にアップグレード」機能を利用すると、既存のプロジェクトをアップグレードすることが可能です。ただしこの際、アプリケーションの実行時に「型 ‘Behavior’ の値は、型 ‘BehaviorCollection’ のコレクションまたはディクショナリに追加できません。」のような例外が発生する場合があります。わたしが実際にアップグレードしたプロジェクトは、自作のビヘイビアやトリガーアクションなどを格納したライブラリプロジェクトだったのですが、上記のエラーはこれらのビヘイビアやトリガーアクションがアプリ実行時に参照されたときに発生しました。

ということで、結論から申しますと「Microsoft.Expression.Interactions」や「System.Windows.Interactivity」などの参照を一旦削除してから再度登録すると、上記のエラーは解消されました。どうやら参照していたアセンブリが古かったみたいです。このようなケースでは、ビルドエラーにならず、実行時にエラーが発生するようですね。根本的な原因は調べていませんが、おそらくSilverlightのバージョンが4になったことによる弊害か、あるいはWPSDK7.1のインストール前にExpression関連のモジュールをすべてアンインストールしたためだと思います (=`ェ´=;)ゞ

その2:SL+XNAプロジェクトがBlendで編集できない!

以前の投稿で「Windows Phone Silverlight/XNA アプリケーション」を利用する場合、XNAカテゴリから生成すると日本語のコメントが付加される旨をご紹介しました。しかしながら、このプロジェクトをExpression Blendで編集しようとした場合、「App.xaml」や「Game.xaml」で左図のように「XML タグ’Application’ に対応する終了タグがありません。」のようなエラーが多数発生します。まぁ日本語が文字化けしていることを見ると、文字コードが怪しいであろうことはすぐにお判りいただけると思います。

ということで調べてみたところ、上記のプロジェクトでは、日本語でコメントが記載されているファイルがことごとく「UTF-8N」で記述されていました。つまりファイルの先頭にBOMが付加されていないわけです。ちなみにBOMとは、エンディアンや文字コードの種別に利用される情報のことで、Expression BlendはこのBOMがないとファイルの文字コードを「UTF-8」であると識別できないようです。これにより、日本語のコメントがタグごと文字化けしてしまい、今回のエラーが発生してしまいます。このため、サクラエディタなどで「App.xaml」や「Game.xaml」を「BOM付きのUTF-8」で保存してあげれば問題は解決です。それにしても、RC版にしてはちょっと詰めが甘いかも…(ノω<;)

その3:既存のスタイルを上書きできない!

Silverlightアプリを開発する場合、「App.xaml」や「Generic.xaml」でスタイルを管理するのが一般的です。「MetroGnome」でも「PhoneTextTitle1Style」や「PhoneTextNormalStyle」などの既存のスタイルを、「App.xaml」内で再定義(同一名のスタイルを定義)したりしています。こうすると、開発時には既存のスタイルを利用し、開発が完了した後に一括してスタイルを変更できるので便利なんですよね~。しかしながら、Silverlight4ではどうやら既存のスタイルを再定義することができないようです。

Visual StudioやExpression Blendのデザイナではきちんと再定義したスタイルが反映されているのですが、いざアプリを実行すると既定のスタイルが反映されてしまいます。多分ソースコードでガリガリやれば回避できそうではありますが、今回は時間が惜しかったので、自作したスタイルの名前を変更して対応しました。う~ん…泥臭い(´・ω・`)

残すは不具合修正と公開作業!

ということで、あとは細かな不具合を修正して公開するのみです!できれば曲の追加とかもしたいのですが…しばらくはちょっと無理そうかもです(T△T)。1日まるまる時間が取れれば可能だと思うんですが…なかなかどうして…orz

MetroGnome国内公開準備中!

以前に「MetroGnome」というWindows Phone 7のゲームアプリケーションを公開したのですが、これは現在、日本のMarketplaceからダウンロードすることができません。どうやら再度、アプリケーションの申請を行わないと公開されないらしいのです。そこで遅ればせながら、MetroGnomeを国内公開するべく現在作業を実施中です!どうせ日本のMarketplaceに申請するのなら、併せてWindows Phone 7.5への対応も実施したいと思います。

ちょっぴり冒険!

ついでに今回は、SilverlightとXNAを同時に利用できるWP7.5の新機能である「Windows Phone Silverlight/XNA アプリケーション」として、プロジェクトを再構築してみたいと思います。なぜかというと、かねてよりの疑問を解消したかったからなのです。具体的にどういうことかと申しますと、審査規約の4.2.5には以下のような規約が定義されているのですが…

The application must not call any APIs in the Microsoft.Xna.Framework.Game assembly or the Microsoft.Xna.Framework.Graphics assembly when using any methods from the System.Windows.Controls namespace.

これは要約すると「SilverlightのControlsを使う場合はXNAのGameやGraphicsは使っちゃダメ!」という内容なのです…たぶん。しかしながら、SilverlightとXNAを同時に利用する「Windows Phone Silverlight/XNA アプリケーション」を作成する場合、どうやったってこの規約に違反しちゃいますよね?そこでこの機会に、この疑問をクリアにしておきたいと思った次第です。それにしても…審査規約ってまだ日本語化されていないんですねぇ…(´・ω・`)

アップグレードは簡単?

ということで、今回のアップグレード作業では、メインのプロジェクトを「Windows Phone Silverlight/XNA アプリケーション」として作成しなおすわけですが、その他の自作ライブラリなどはコンバートで対応することにしました。コンバートは、Visual Studioの「Windows Phone 7.1 にアップグレード」を利用することにより簡単に実行可能です。どうでもいいですが、ソフトウェア(7.5)とOS(7.10)のバージョン表記は統一してほしかったです…(´д`;)。ということで、この状態でビルドを実行すると、ビルドエラーは一切なし!これにてアップグレード作業は完了…

問題のオンパレード!

…かと思いきや、さすがに一筋縄ではいきません!ビルドこそ通るものの、実行時に「型 ‘Behavior’ の値は、型 ‘BehaviorCollection’ のコレクションまたはディクショナリに追加できません」なんて例外が発生したり、Expression Blendで編集しようとすると「XML タグ’Application’ に対応する終了タグがありません。」なんてエラーが発生したり、挙句の果てには画面のスタイルが崩れたり…(T△T)

…ということで次回の投稿では、WP7.0アプリを7.5にアップグレードする際に、わたしが遭遇した各現象の解決策をご紹介する予定です。…解決できれば…。「MetroGnome」の国内公開まで、今しばらくお待ちいただけましたら幸いです!m(_ _;)m

Animelo Summer Live 2011 -rainbow-!

今年も行ってまいりました「Animelo Summer Live」略して「アニサマ」!
アニサマは、毎年開催されている国内最大のアニメソングライブです。

今年はWP7とも関係あり?

今年のアニサマは8月27日(土)~28日(日)の2日間で開催されました。もちろん2日間とも参加してまいりましたよ~(´∀`*)ノ!ちなみに今年のテーマは「レインボウ」!これは「7回目」の開催である事実と「7色」の虹をかけて命名されたテーマです。そして「7」といえば…そう!いよいよ国内販売が開始された「Windows Phone 7」!7回目の開催となる今年のアニサマは、Windows Phone 7とは全然関係ありません。

1日目は激アツ!

1日目は「茅原実里」さんと「田村ゆかり」さんのコラボで幕を開けました!「七森中☆ごらく部」はダンスがめっちゃ可愛かったし、「BREAKERZ」の登場で会場が沸きました!「fripSide」は1年越しのネタで「エスパー伊藤」さんが登場!どうでもいいですけど、「Heaven is a Place on Earth」のダンサーさんが、メイド服でメチャクチャ可愛かったッス!そしてシークレットゲストは、まさかまさかの「ささきいさお」さんと「水木一郎」さん!よもや「宇宙戦艦ヤマト」や「マジンガーZ」でサイリウムを振る日が来るとは…(T▽T)!そして最後は「JAMProject」と「水樹奈々」さんがコラボでトリを務めました。

なお1日目は、アリーナの前から数列目かつ花道の真横という座席でして、出演者のスカートの中顔までクッキリ見えました。でも出演者が花道中央に移動してしまうと、後ろから眺める状態になるわけで。お尻を眺めるライブは…はじめての経験でした!(*´△`*)ゞ

2日目も激アツ!

2日目は「堀江由衣」さんと「水樹奈々」さんのコラボで幕開けです!「栗林みな実」さんと「黒崎真音」さんによる「翼はPleasure Line」は俺得でしたし、「RO-KYU-BU!」や「ミルキィホームズ」の登場により、会場は文字通り異様な盛り上がりを見せました。「堀江由衣」さんによる「PRESENTER」から「YAHHO!!」のメドレーでホッコリし、休憩前の「JAMProject」でテンション最高潮!おかげで全然休憩できませんでした。「GRANRODEO」はまさかの「Go for it!」に「I.G.P.X」のコールアンドレスポンス!そしてシークレットゲストにまさかまさかの「T.M.Revolution」~!そして最後は「水樹奈々」さんがトリを務めて幕を閉じました。

なお2日目の座席は、ステージからはちょっと遠かったのですが、会場全体が見渡せるポジションというのも、参加者との一体感があって素晴らしいですね!

やっぱりアニソンは最高!

アニメソングは、いわずもがなOPやEDにマッチするように作られているので、非常にノリやすくて「合いの手」も入れやすいです!それが動員人数5万人を誇る「アニサマ」の人気の秘訣なんだと思います。なお今年のセットリストは以下に記載されていますのでよろしければ。
Animelo Summer Live 2011 -rainbow- セットリスト

いやはや、今年のアニサマは本当に激アツでした~!(≧ω≦)

はじまりはMac…

Appleのスティーブ・ジョブズ氏がCEOを辞任するとのことです。MS信者のわたしとしても、敵ながら天晴なお人でした。本当にお疲れ様でした!(T△T)

出逢いは…Mac!

思い起こせば、パソコンとの初めての出逢いはボンダイブルーのiMacでした。当時のわたしは、MacintoshとWindowsの違いも判らない、ただの無垢な少年でした。パソコンさえあれば、何でもできると信じて疑いませんでした。だからこそ、当時話題だったボンダイブルーのiMacを購入したのです。このiMacはデザインがとても素晴らしく、これから訪れるであろう未来への期待に胸を熱くしたことを、今でも鮮明に記憶しています…( ,_ノ` )

許すまじ…Mac!

ですが、その期待はすぐに打ち砕かれることとなりました。なぜなら、色々と情報を収集していくうちに、ある衝撃の事実を知ってしまったからです。それは…マックには圧倒的にアダルトゲームが少ないという事実。エルフはまだしも、アリスソフトやF&Cなどは軒並みMacintoshをサポートしていませんでした。そして、少年は失意の最中でWindowsに出逢い、そのエロゲーの多さ素晴らしさに心を奪われていったのでした…( ,_ノ` )

どうする…WP7!

ということで、ぜひともWindowsPhone7のMarketplaceにもアダルトゲームの公開を容認していただきたい!Windowsがここまで普及した背景には、確実にアダルトゲームの影響がある…ハズです。その事実に目をそらしたまま、iPhoneやAndroidのような強豪に戦いを挑もうなどと、無謀以外の何者でもなくなくなくないですか?せっかくXNAという素晴らしい開発プラットフォームがあるのですから、エロゲー色々なゲームを作りたいというのが、技術者としての偽らざる本音です!(`・ω・´)

Windows Phone SDK 7.1 RC リリース!

Windows Phone 7.5で動作するアプリケーションの開発環境として
Windows Phone SDK 7.1 RC (リリース候補)」がリリースされました!

いよいよGo Live!

このRC版は「Go Live」ライセンスとなっているため、開発したWP7.5対応アプリをMarketplaceに公開することが可能となりました。また、次期RTM版で仕様変更が発生した場合は、バージョンアップの手順も保証されます。さらにこのRC版は、英語版と共に日本語版が提供されています。つまり、本格的に現場レベルで利用可能なビルドとなったわけですね。おまけに、RC版となったことにより、ブログなどに開発環境のスクリーンショットを掲載することも可能になりました!やった~!≧∀≦)ノ

日本語対応は…あと一歩!

このRC版は、機能面でも色々と改善が見られます。たとえばSL+XNAの場合、プロジェクトテンプレートが「Windows Phone Silverlight/XNA アプリケーション」に統一されました。これらは、プロジェクトを作成する際に、SilverlightとXNAのどちらのカテゴリからも利用することが可能となっています。となると、生成されるプロジェクトも同一なのでしょうか?見てみましょう。

ご覧のとおり、生成されるプロジェクトは若干異なるようです。具体的には、XNAカテゴリから生成したプロジェクトは、コメントが日本語で記載されているのに対し、Silverlightカテゴリから生成したプロジェクトは、コメントが英語で記載されています。

…というわけで、SL+XNAで日本語コメント付きのプロジェクトを利用したい場合はXNAカテゴリから生成するようにしましょう!(´・ω・`)

次回はコミティア98に参加予定です!

ごめんなさい!以前の記事で「次回のコミティア」に参加する旨を記載致しましたが、これは「コミティア97」ではなく「コミティア98」のことでした。誤った記載をしてしまい、誠に申し訳ございませんでした!(≧△≦)

次回はコミティア98に参加予定!

ということで、次回の即売会への参加は、2011年10月30日(日)に開催される「コミティア98」を予定しております。当落結果が判明次第、このブログに掲載させていただきますので、当選した暁には在庫の撲滅にご協力いただけましたら幸いです~!(T△T)ゞ

でも…ホントは嬉しい!

実は今回、「コミティア97」への参加有無につきまして、たくさんのお問い合わせをいただきました。誤解を招く記載をしてしまいましたこと、重ねてお詫び申し上げます。

ですが、まさかこんなにたくさんお問合せいただけるなんて、予想だにしておりませんでした。心からのお詫びの気持ちとともに、感謝の気持ちで一杯です!もちろん、在庫も一杯です!。゚(゚´Д`゚)゚。

Mango対応版 Windows Phone Toolkit!

WindowsPhone7のSilverlightアプリケーション開発に利用できるライブラリである「Silverlight for Windows Phone Toolkit」が更新されました!これによりWP7.5ことMango対応アプリケーションの開発が正式にサポートされました。

新機能が盛りだくさん!

今回のToolkitでは、新たにHubTileExpanderViewLockablePivotMultiselectListなどのコントロールが追加されています。特に、HubTileとExpanderViewは非常に有益なコントロールだと思いますので、時間があればじっくりと検証してみたいところです。また、不具合修正なども行われており、以前ご紹介したTransitionのバグもしっかりと修正されていることを確認しました。こんなライブラリが無償で使えるんだからスゴイです!

DatePickerの挙動が…

こんな素晴らしいToolkitなのですが、DatePickerやTimePickerの挙動が若干変わっているのが気に掛かりました。たとえば、リストを斜め上にフリックした場合、従来のToolkitおよびOS標準のDatePickerでは、一覧がスラ~っと回転するのですが、今回のToolkitに含まれるDatePickerでは、リストが1項目ずつ進みます。別にどちらの仕様が良いとか悪いとは言いませんが…勝手に挙動を変えられてしまうのは少し困りものですね。

少し調べた限りでは、挙動の互換性を保つプロパティなども存在していません。目くじらを立てるような変更ではありませんが、お客様にNoと言われれば修正せざるを得ないのが、開発現場の実情ですので…(T△T)

ビルドが通らない…

もちろん今回のToolkitも、ソースコードとサンプルが公開されています。ただしこのサンプル、そのままビルドするとビルドエラーが発生しました@わたしの環境では。エラーの内容は「Xap packaging failed. Object reference not set to an instance of an object.」とのことです。あ~そうかなるほど!全ッ然わかりません!( ´∀`)b

結論から申しますと、プロジェクト内の画像ファイルが文字コードの影響でうまく読み込めていないため、ビルドエラーとなっているようです。このため、左図に記載した2つの画像をプロジェクトから削除すれば、とりあえずビルドが通りました。ちなみに、これらの画像は「HubTileSample.xaml」から利用されていますが、別に画像がなくても問題なく動作するようです。

わくわくしてきた~!

いよいよWindouwPhone7.5対応アプリの開発環境が整いつつありますね!あとは開発環境であるWPSDKのRTM(その前にRC?)を待つばかり。今回追加されたHubTileを使うだけでも、色々と面白いことができそうです!(///ω///)ムフフ

Windows Phone 評価用端末プログラム!

少し遅れての告知となりましたが、「Windows Phone 評価用端末プログラム」が始まっています。べ…べつに、昨日の「からあげクン1年分」が抽選で当たるキャンペーンを聞いて思い出したわけじゃないんだからねっ!

応募資格はとってもカンタン!

ということで、わたしも先程登録を済ませました(ごめんなさい忘れてました)。当キャンペーンに応募するための資格はたったの2つ!ひとつはWindows Phone Developer Dayの動画を見ること。見たことを証明する必要はありませんが…そこはみなさん大人の判断で。ふたつめは、もし当選した場合はアプリケーションを開発して公開すること。これらの条件を満たす覚悟がある方は、以下のサイトからこのプログラムに応募してみましょう!
Windows Phone 評価端末プログラムに関して

運が良ければ…あのIS12Tがキミの手に!

たったこれだけの手順で、運が良ければ、新規契約の場合に73500円もするIS12Tが無料で手に入るかもしれません!機種変更の場合に73500円もするIS12Tがあれば、Mangoの最新機能を利用して作成したWP7.5アプリケーションを実機で動作させることが可能となります。毎月割を適用しても35100円もするIS12Tをゲットして、WP7.5アプリの開発に挑戦してみてはいかがでしょうか?

ちなみに、当選枠数は特に明記されていませんが…それって当落はマイクロソフトさんのさじ加減ってことですよね?わかります(´・ω・`)