iOS Developer Program

遅まきながら、iOS Developer Programの登録を行った。

iOS関係の開発は全く興味無かったが、折角、Flash Builderを使っているし、最近はiOS Developer Programも8,000円と安くなってるので登録してみた。

だいたい、開発させるだけなのに登録料を取るなんて発想そのものがAppleらしくて嫌いな上、iOS Developer Programを登録した人なら誰しも経験しているが、マルチバイト国である日本から登録すると非常に手間が掛かりトラブルが多く、何やら一向にその辺の様子が変わらない偉そうな態度も嫌いだったのだが、取り敢えずやってみたら、やっぱりあれこれあったが、一応登録に成功して、OpenSSLによる証明書の作成などあれこれやり、開発環境までは揃えてみた。

今更、これだけアプリが出ているので何か新しいものを開発したいと言う欲求は全く無いが、これでAndroidとiPhoneの開発環境は揃った。

カテゴリー: 未分類 | コメントは受け付けていません。

Windowsサーバってどうしてこんなに高いんだ?

最近、システムインテグレータと言う仕事をしている。

まあ、まだ見積もり段階だが、今やってる仕事ってどういう風に呼ぶんだろう?と思ったらどうやらこういう分類になるらしい。

自分でプログラムを書かないが、ネットワークを含めたシステムを構築する設計をしたり業者や顧客と折衝したりと言う事で、最後はリモートメンテナンスなんかもやったりする。

まあ、ハードウェアの経験があり営業の経験があり、コンパイラ系からWeb系までアプリケーションの開発経験もあるので経験だけは豊富だから、もしかしてこれって自分の天職?

にしても、その中で顧客が利用中のサーバがWindowsサーバでその更新と新規にバックアップシステムを導入しているのだが、実はWindowsサーバと言うのは使ったことが無い。

高いからだが、今回SQLDBサーバも入ってるのですごい金額。
外側のハードウェアよりも高い。

linuxなら外の箱代だけで中身は全部フリーで出来るし、機能だって遜色ない。
まあ、既存システムなので仕方ないし、それはそれで良さはあるのだが、それにしてもビックリ!

カテゴリー: 未分類 | コメントは受け付けていません。

何かいつの間にか2月になっていた

AIRシステムをリリースした後、ここ2ヶ月程、Excel屋さんになった後はITシステムインテグレータ屋さんとなっていた。

Excelは随分前からVBAを使ったアプリケーションをシリーズで開発していて、その延長だが、2010への移行を含めてやっていた。

2010でアプリケーションを作る時はリボンが邪魔になるのでメニューパネルでリボンをコントロール出来るチェックボックスを入れている。
方法は幾つかある様だが、僕がやっているのはこれ

If ribon_on = True Then
Application.ExecuteExcel4Macro “SHOW.TOOLBAR(“”Ribbon”",True)”
Application.DisplayFormulaBar = True
Else
Application.ExecuteExcel4Macro “SHOW.TOOLBAR(“”Ribbon”",False)”
Application.DisplayFormulaBar = False
End If

ribon_onと言うチェックボックスを用意しておいてそのクリックイベントにこれを当てている。

古いバージョンからRS-232CモジュールであるEasyComm1.84を使って非接触ICカードのリーダーライターの通信で利用しているがWindows7でExcel2010でも安定して動いているので助かっている。

カテゴリー: 仕事 | コメントは受け付けていません。

FlashBuilder4.5から4.6へバージョンアップしたのだが。。

毎回そうだが、FlashBuilderはバージョンアップすると前のバージョンで作った物がすんなりインポート出来ない。

ANEを扱ってみようと思い、ついでにFlash Builder4.5から4.6へバージョンアップしてみたのだが、今回も4.5で作ったプロジェクトで問題が発生した。

毎回、更新すると、取り敢えず前バージョンで開発終了しているAIRプロジェクトで直近で重要なプロジェクトを読み込んで、チラホラと問題が出た箇所(ネームスペースの問題やsdkのパスやら何やら主にFlash Builderの問題と言われる箇所)を修正して動作確認をしているが、今回気がついたのは、mxコンポーネントの imageコンポーネントで同じsrc以下にある画像を動的に読み込んで表示させているが、これが失敗すると言うやつ=読み込まずにリンク切れの状態で表示される。

ViewはImageコンポーネントで

View.load(“hoge.png”); と言う単純なものだが、

これは、具体的にはサーバに画像が無い場合に代替として表示する画像なのですが、実はサーバから読み込んだイメージは同じ形で表示する。

当然、4.5では何の問題も無く、こんな単純な箇所なので全く原因が分からない。

ネットで色々調べてみたがそれらしい話も載ってない様で、例によってFXUGへ尋ねてみた。

ちなみに、ボタンに利用しているアイコン等が、@Embedを指定しないと表示しないと言う修正(デザイン画面で、Embedへチェックを入れる修正)も必要だった。

取り敢えず、代替画像を@Embedしたimageコンポーネントとサーバからの画像を表示するimageコンポーネントの二つを重ねて配置して、それぞれの表示を制御することで逃げたが、他のプロジェクトでも同様の方法で画像を使っている場所があるので、今のうちに原因か対処方法を確認したい。

4.6は、他にもエディターでカーソルが消えるという怪しい現象も発生した。

これ以外にも、データとサービスを利用している場合、ファイルをインポートすると既に実稼動サーバへデプロイ設定をしているsrc以下のservicesにあるasファイルのendpointが勝手にlocalへ変更される様だ。

やっとわかってきたが、バージョンアップした場合は、ひとまず、旧バージョンのワークスペースからプロジェクトをコピーして、そのプロジェクトをインポートし、必要なservicesのファイルを旧バージョンから新パージョンへ上書きコピーすると言う作業が必要な様だ。

でなければ、WEBルートの関係で自動的にlocalhostへ書き換えられてしまう。

余計なお世話と言う機能だし、以前も書いたが、このデプロイに関する情報が少ないので方法が良くわからないのも困る。

カテゴリー: Flash Builder, 仕事, 未分類 | コメントは受け付けていません。

Google Analyticsを入れてみた

Google AnalyticsはGoogleが提供するサイト分析ツールだ。
こんな感じでGoogleアカウントで設定すると利用できる。


サイトの訪問者数を調べて欲しいと言われたので入れてみた。
WordPressで利用する場合は「Ultimate Google Analytics」プラグインをインストールして「設定」へ追加される「Ultimate GA」の「Account ID」へ 上記で表示されている
UA-XXXXX-Xを設定すれば良い。

設定したばかりなのでまだ値も少ないが、訪問者の位置まで特定できるのが面白い。

カテゴリー: 仕事 | コメントは受け付けていません。

Internet Explorer9にしたのだが。。

先日、必要に迫られてWordをPDFへ変換するフリーソフトをインストールした。
幾つか候補があって、結局、PDF reDirect v2をインストールした。

それは良いのだが、幾つかインストールしてテストした時に悪名高い「BABYLON」がインストールされてしまった。
プログラムの削除で削除したが、新規にタブを開くとBABYLONの検索サイトが開かれてしまうのでレジストリを変更したが、タブを開く部分を修正するところを削除してしまった。
BABYLONは開かなくなったが新しいタブを開くときの動作がおかしいのでいっその事と思いInternet Explorer9にアップグレードしてみた。

あれこれ、テストしてみると、どうもAdobePDFが表示しないので、ググッてみるとどうやらAdobeReaderの設定を幾つかいじらないといけない様だ。

どっちのバグなのか分からないが何となくReader側のバグっぽい感じもするが、取り敢えず、ReaderXを立ち上げて環境設定の以下を一度全部外して保存して、Internet Explorer9を起動して適当にPDFの印刷を行い、単独でReaderXで表示させて、Internet Explorer9を終了させて、再度、ReaderXを立ち上げて設定しなおしてやると上手くブラウザページの中でPDFを表示した。


Internet Explorer9はFlashで作成しているサイトのフォントが小さく表示される問題もあり、こっちはネット上にあまり情報が載っていない。
相変わらずMicrosoftってのは余計な事しまくりで、変なところで存在感を出す。

 

カテゴリー: 未分類 | コメントは受け付けていません。

WordPressでのシームレスインストールページの作成

このサイトもそうだが、WordPressが手軽なのでサイトの構築に使うことが増えた。

僕はWEBサイト作成は本業では無いので、必要に迫られるとCMSを使うようにしている。

以前はXoopsを使っていたのだが、最近、このサイトを移設する為に、新しく借りたレンタルサーバーでWordPressのインストールサービスがあったので使った為、某製品のダウンロード用サイトでもこれを使うようにしたが、WordPressはFlashを簡単に埋め込めない。
AIRのシームレスインストールの為にはFlashが必要なので、何とか方法が無いかと調べたらプラグインがあるらしくて利用してみた。

只、一般的に使われている「WP-SWFObject」の場合、シームレスインストールに必要なflashvarsを設定できない。

その為「WP-Al-SWFObject」と言うプラグインを使ってみた。このプラグインならflashvarsを渡せるようだ。

プラグインのダウンロードやインストールは
http://blog.alumican.net/2009/04/19_233117を見てもらうとして、ページへの埋め込みはこんな感じだ。

[embedSWF]http://サイトURL/AIRInstallBadge.swf, 215, 180, center, 6.0.65, http://サイトURL/expressinstall.swf,{airversion:”1.2″,appname:”アプリ名(日本語は表示しない)”,appid:”アプリID”,pubid:”publishID”,appversion:”アプリのバージョン”}[/embedSWF]

ここで、{}の部分がflashvarsだが、実は設定にあるべきAIRのアドレスや背景画像のアドレス設定はここにない。

実は、初めは背景画像もAIRアプリのアドレスもflashvarsにimageurlやappurlと言う値で設定していたのだが、画像も表示されないしAIRのインストーラも起動しない。

何故?と思って実際にWordPressで出力しているHTMLのソースを見ると何故か2つとも「http:」までしか無い。
それなら表示もされないし、インストーラも立ち上がらない筈だ。

どうもflashvars内のアドレスがちゃんと渡ってない様だが、WordPress側の問題かこのプラグインのバグか理由が良く分からないし、突っ込んで調べる時間が勿体なかったので、僕はAIRInstallBadge.flaで読み込んでいるAIRInstallBadge.asの以下の中に直接この二つを仕込んだ。

appName = validateString(params.appname);
appURL = ‘AIRのURL’;
appVersion = validateString(params.appversion);
helpURL = validateURL(params.helpurl);
hideHelp = (params.hidehelp != null && params.hidehelp.toLowerCase() == “true”);
image=’画像のURL’

この辺の値はそうコロコロ変わる訳では無いので別に問題ない為、これで実現した。

カテゴリー: 未分類 | コメントは受け付けていません。

オートアップデート解決

日本語問題は解決したのだが、アップデートを実行させると実際のダウンロードの際に 16824 エラーが出てアップデートが出来ない。

この16824は「無効な更新記述子」と言う事で、原因を調べていたのだが、どうもupdate.xmlの記述のnamespaceが2.5となっているのだが、FlashBuilderのnamespaceが2.6なのが問題なのかと思って変えてみたが解決しない。

再度、FxUGへ報告と言う形でアップしていたら、親切に又、回答があって

『AIR 2.5 より前に作成された AIR アプリケーションは、バージョン 1.0 アップデート記述子のみを読み取ることができます。
AIR 2.5 以降に含まれるアップデータフレームワークを使用して作成された AIR アプリケーションは、バージョン 2.5 アップデート記述子のみを読み取ることができます。
バージョンの互換性がないので、2 つのアップデート記述ファイルを作成することが必要になる場合があります。』

と言うヘルプの記述を紹介された。

僕もヘルプは読んでいたのだが、読み方が足りなかった様だ。
非常にわかりにくい日本語だが、要するに2.5以上は2.5で良いと言う事らしい。

それなら他に原因があるだろうと思い、もしかして。。とリリースビルドしてアプリケーションを立ち上げると呆気無くダウンロードとインストールまで正常に自動更新した。

つまり、IDEでのデバッグモードではエラーが出ると言う事だったのだ。まあ、考えたら理由が分からなくも無いが、それにしても「無効な更新記述子」だけでは何とも分からない。先のヘルプもそうだが、この手の日本語訳は本当に不可解メッセージが多い。。

取り敢えず、FxUGのご主人さま(笑)のお陰で、オートアップデート問題もなんと解決して無事にオートアップデートが出来るようになった。

カテゴリー: 未分類 | コメントは受け付けていません。

ここはアメリカじゃねーよ

昨日、Fxugへ投稿していたらすぐに返信が入っていた。

内容は以下の様な簡単なものだが
『update時のダイアログの日本語化は、コンパイラーオプションの追加引数のところでしょうか。
-locale ja_JP
としておけば localeが日本語になりますので、update時にも日本語で表示されると思います。
念のため、updateのActionScript内で、
appUpdater.localeChain= ["ja_JP"];
としています。』

これを読んで「あ!」と思った。
確かにFlashBuilderをバージョンアップした時に既に作業に追われてて、取り敢えず使える状態にしたが、その部分は全く触ってなかった。
見ると確かに -locale en_US と設定されてあった。
「ここはアメリカじゃねーよ」とつぶやきながら、 -locale ja_JPとしたら一発で昨日の問題は解決した。

ちゃんと日本語で出ている。
やはり困った時のFxUGだった。

それにしても初歩的なうっかりだが、初歩的な事ほど気が付きにくいもんだ。。

カテゴリー: 未分類 | コメントは受け付けていません。

いつ変わったんだよ?

以前からAIRのオートアップデートを試みているのだが実行されない。
リリースの方を優先して、AIRのトップ画面に更新情報を表示して、そこをクリックすると新しいバージョンのファイルがあると言う処理で逃げていたが、釈然としなかった。

リリース関係で忙しかったが、少し時間が取れたので、調べてみた。

初めは、
appUpdater.isCheckForUpdateVisible=true;

として、何やらエラーが表示されるのを見ると、以下の様なオートアップデートのエラーリストに表示されないエラーが表示されている。

here was an error checking for updates. error# 16831

これをキーワードに検索したら、更新をアップしているサーバに設定しているupdate.xmlの記述方法が変っていることを知った。

部分的に紹介するがupdate.xmlの中の以下の部分

<update xmlns=”http://ns.adobe.com/air/framework/update/description/2.5″>
<versionNumber>1.1</versionNumber>

と言う具合に
<version></version>の記述方法が
<versionNumber></versionNumber>と言う具合に変更となっていた為だった。

ちなみに

ネットで見た情報ではdescriptionのバージョンが1.0では無く2.5(これは2.6だと駄目)とあったが、これは1.0でも動作した。

全くいつ変わったんだよ?と言いたいが、問題はまだあった。

こんな感じで自動更新があった場合に表示されるパネルが英語なのだ。

update.xmlの <description>で日本語が使える様だが、パネルのタイトルで「Update available」とか「An updated version of the application is available for download.」等と表示されても、「?」と言う状態のユーザが殆どなので困る。

何か特別な設定をする必要があるのか?と思ったが、これ以前のバージョンのオートアップデートを紹介しているサイトを見ると日本語対応となっているし、Adobeのオートアップデートも当然日本語だ。

もしかするとこのオートアップデートのバージョンが日本語未対応??

それなら仕方ないので、前のバージョンを探すのも面倒だし、オートアップデートの更新チェックのイベントで、更新があったら「更新があります。」と言う表示を出してサイトへ飛ぶパネルでも作ろうかと思うが、取り敢えず、こんな時に頼りになる「FXUG」=「Flex User Group」へ投稿してみた。
僕なんかより遥かに優れたユーザが山ほど居て、一人で仕事をしている僕としては非常に役に立っている。

カテゴリー: 未分類 | コメントは受け付けていません。