iPhoneSDK覚え書きと今日のプログラミング

qTranslateでヴィジェットメニューを他言語対応する方法のメモ

「エフェクト+」アプリに所謂波動拳とか魔貫光殺法に媚びた「エネルギー波」効果線を追加してバージョン1.1.0と称して審査に投げ。

それはそれとして「プレビュー時に表示される線のランダム度を固定したいなぁ」と思う今日この頃。具体的にどういうことかつーと、パラメータ変えると線のランダム決定要素(集中線の描画位置とか)がブレブレになっちゃうのを固定したいね、って話。
直すと結構なボリュームになりそうなのがガンだよなぁ…設計としては「ランダムで決めた要素を一時記憶・再利用可能にする」仕組みを作れば良さそうだが、どんなもんだろう。
あと、色決定ビューも直したい。ちょっと淡白すぎる気がしてきた。じゃぁどう直すのかと言われても困るんだが。

エネルギー波ももうすこし種類増やしたいし、「エフェクト+」は当面そういう方向でバージョンアップのネタに困らない…かなぁ。

iPhoneSDK今日のプログラミング

夜にアプリBlogのコメント欄に「NPCメモる」で、このデータの削除機能ないんですか?と聞かれて、まーたスワイプで削除できることを…と思ったらどうも別の項目らしい。
ほんじゃまぁこっちの項目をすわい・・・ぷ
  :
  :
\できねぇ!/
  :
  :
素敵な機能不足。想像するに2つのうちどっちかじゃないかなぁと
・該当項目にリレーションしている他の項目に影響するから、あえて削除をつけてない
・単純に実装忘れ
後者の可能性が濃厚ですが、とりあえず前向きに健忘して削除機能を実装してみる。おううまくいくうまくいく。ちゃんとテストしないとだが。

実装がすんなり済んで軽く動かしたところで問題ないもよう。調査でもリレーションを直接調べてなにかする動作もないから、やっぱり実装w…なんだっけ。まぁとりあえず機能強化と言っておこう(笑)

他にやるべき点があればチェックして、バージョン1.0.2としてリリースできるようにしておこう。うん。

昼間は「エフェクト+」の新機能についてソースコードを練っていた。「集中線効果」アプリにあったイナズマ線を、今話題の波動拳画像作成用にした「エネルギー波」エフェクトなんてどうだろうとか思ってる

iPhoneSDK最近のプログラミング

iMasterScreen改めVirtual TRPG Boardのバージョンアップ。
元々iPhone用のNPCメモるで貰っていた「数値を一括で加算/減算したい」という話があって、まぁ根本的にNPCメモる作り直しだよなぁと思ってたところでiPad向けNPCメモる、という案が出た。
ところがこれ、設計すれば設計するほどiMasっぽいできばえになった。というかダイスロールとかメモとかその手の部分入れらほぼ丸ごとiMasじゃないですかやだー
 :
 :
 :
ということで、iMas側に「HPゲージを表現するオブジェクト」と「計算用電卓」と「電卓の値をカウンタやHPゲージに反映させる機能」を追加したらとりあえずiPad用NPCメモるっぽくね?ということでバージョンアップしたわけですはい。

電卓のサイズが小さいちゃうか(基本サイズは200×200)とか色々問題を抱えてなくはなさそうなんですが、正直これより大きいと解像度とDpiの兼ね合いが難しそうなのでフィードバック受けてから、ということで。
オブジェクトのコピー機能はそのまま使えるはずだから、複数のMOBを管理したりするような場合でも結構使えるはずなので是非お使いを。
まぁ他にも色々要望貰っているので、ちょくちょく直していく予定です。

【来週の予定】
「エフェクト+」に待望のカメハメ波エフェクトをつけようかと。

iPhoneSDKUIActionSheetとUIPopoverController

UIPopoverControllerもUIActionSheetもiPad上では「同時に表示するな」の対象なんだけど、これが既に表示されているかどうかってチェックはどうやればいいんだよ!(キレ)

#多分一番良いのはUIPopoverControllerとUIActionSheetを包括的に管理するシングルトンなクラスを作って管理することなんだろうな…

iPhoneSDK今日の不意打ちプログラミング

あまりよくない「付け足し」的機能として、「声で時間管理」をポモドーロ・タイマーモードでも動作するように追加。
25分、5分、25分、5分…という単位で通知をする。通知音声も「*分」ではなく「休憩しませんか」+「時間だよっ!」の組み合わせ。


音声がうまく再生されない。cafファイルが悪いのだろうか。

iPhoneSDKやっぱりダメだったよ

エフェクト+を審査に出して「サンプルにHKの画像でも使ってネタ画像つくんべぇ」と作業して、マスク領域を作成…あれ?
マスクが変だぞ!?
慌ててバイナリをRejectして調査開始。マスクした領域の右下、画像全体でも右下にマスク領域の左上を拡大されたような感じでマスクが切り抜かれている。
どうも2倍スケールでマスクを作業してる模様。Retinaモデルでのテストだったので通常サイズに戻してチェックする。こんどは上手く行く。
1倍サイズで上手く行くということは、Scaleに関する問題であって、ソースコード自体はわりと完全。でもScaleをそのままファクターにするような部分はソースコードにない…
はてな?と首を傾げてたところで思い出す。同じマスキングのロジックはiMasterScreenでも使ってる部分で、むこうでは問題が起こってない。なぜか?

とソースを見比べて結果判明。
UIImage* image = [[UIImage alloc] initWithCGImage:];
となってたのを
UIImage* image = [[UIImage alloc] initWithCGImage: scale: orientation:];
と修正。scaleが引数が増えてたのを忘れてたのだった…

#他にもちらほらとLocalizeのキー間違えなど発見してしょんぼりしながら修正してアップロードしなおし

iPhoneSDK言った事は大抵現実になる

Effect Plusアプリを実機で動かすとこれがまた重い重い…しかも落ちる落ちる…Quad XGAサイズの画像をガンガン使ってれば当然の報い。

ということで画像サイズは「RetinaじゃないiPhoneが640ドットサイズ」をベースに「Retinaなら2倍」「iPadなら2倍」(つまり、RetinaiPadなら4倍)というサイズ制限を課すことで対応。

#根本的解決になってない? その通りだが実際画像1枚でも工夫が必要になるのでわkらない。

他にも諸々メモリリークとか動作上の不具合とか対応してとりあえず数日使って問題なければGo!といきたいところ。

テンション下がる事象の主原因はコレであった…

iPhoneSDK覚え書きー現在困っていること。

現在困っているのが、iPadにおいてUITextViewをModalで表示させた場合にUITextViewの大きさ(正確に言うとUIModalPresentationFormSheetで表示させているUIViewController画面中のUITextViewの大きさ)が小さくなってくれないとか、UITableView中のUITextFieldにフォーカスしてもキーボードの上までスクロールしてくれないとか。
今んところ理由が見えてないんだけど、もしかしてiPadのiAdの実装方法に問題があるのかな…だとすると結構面倒そうだなぁ…と思ってる。

#現在の実装が、AdつきのUIViewControllerでSplitViewControllerをくるむような形だからなぁ…

iPhoneSDK集中線

新集中線こと「エフェクト+」アプリがほぼ完成した。

#不具合は概ねこういう段階で見つかる

前作と違って「iPad用」をiPhoneに降ろしたUIになっていて、iPhoneだと若干面倒なUIになっている(前の「集中線効果」ととどっちがマシなのかはわからん)。
前は「iPadでこのアプリ使うヤツもいなかろー」と思ってたのだが、どうもiPadでも使う用途があるらしい(とアメリカからレビューがあった)。
多分Camera Connection Kitとかで取り込んで使うんだろうと思ってる。
今回はそういうユースケースを想定して、(iPadでもカメラあるし)「加工してソーシャルネットワークにアップロード」というのを意識して作った。

そうすると集中線以外に必要な「顔認識して自動で黒枠で顔を隠す」という機能がべんりじゃなイカということで、「スタンプ」の効果が追加されました。
これに伴って「集中線」がアプリ名から消えたわけですな。
これのテストにはR.Sato氏の「組閣画像使ったらいいんじゃないか」という提案が非常にウケたのでこれを採用している。
いくつかの内閣にはお世話になりました。精度が低い設定だと顔として認定されないケースがあったり、絨毯の皴がどうも顔らしく見えるようだったり…心霊写真かよ。

他にも集中線じゃない効果として「文字」「セリフ」の効果が追加。
「文字」については文字の変形がオプションでついて、念願の「ドドド」とかのジョジョ書き文字ができるようになって満足。完成度は高くはないですが、固定文字列をビットマップで用意しているわけではないので、サイズ、文字ともに自由、というのがウリ。
「セリフ」についても「叫び」とか「心の声」とか、お前はExcelの「図形」かと思うような効果がついてたり。

Evernotのメモを積極的に取ってログを残したんだけど、実開発はほぼ2ヶ月の模様。途中で別のアプリにはほとんど手を出さなかったけど、別にフルタイムで作業してはいないので人月換算だと1人月くらいのペースかのぉという感じ。さらにアイコン作成でウンウンうなったりというプログラムとは別の画像系の作業もあったのでまぁこんなペースかなぁと。

審査通ったらまた何か書こう。

iPhoneSDK今日のプログラミング

UITableViewControllerにiAdをつける、という行為に悩む。
正確には(デザインを変えるために作った)UITableViewController派生クラスだが…

結局、実装には「UITableViewとiAdを持ったUIViewController派生クラス」というのを定義して、これの派生クラスとして上記の派生クラスを組み替える必要があるっぽい

#UITableViewControllerはtableView以外にビューを組み込めないのでiAd組み込むこと自体が至難

この実装面倒だなぁ…UITableViewのFrame定義をinitでやりつつ、viewDidLoadの段階でsetFrameでフレームサイズを決定する、という段階を踏むのだと覚え書きしておく。
iAdの実装についてはSR4精霊管理アプリ(使い方が分からないと言われたが放置している。なぜなら僕が使わないからであるw)のiAd実装を参考に。iPadの場合はこのアプリの実装そのまま借りる。