明けましておめでとうございます

ついにやって来ました2014年。平成26年!
去年は目標の半分も達成できませんでしたが、今後につながる収穫は充分あったと思います。
今年もマイペースで頑張ります。

iOS7対応作業

 時間がかかったものの、キラキラシールカメラ水彩画カメラのiOS7対応作業と申請が無事にが完了しました。公開までもうしばらくお待ちください。

アプリによっては影響が無かったので甘く考えていたのですが、XCode4から5に変えてビルドしただけで、色々と問題が出てきました。主な問題点と対応策は以下の通りです。

・ステータスバーを非表示に出来ない
  →Info.plist に "View controller-based status bar appearance : NO" を
   追加した。これだけだとImagePickerなどの標準UIを出したときに
   ステータスバーが出てしまうので、各ViewController の viewWillAppear:
   にこのコードを追加した。
    [[UIApplication sharedApplication] setStatusBarHidden:YES
                 withAnimation:UIStatusBarAnimationNone];

・CachesDirectoryにデータを書き込めない
  →諦めてDocumentDirectoryに書き込むようにした。

・UIBarButtonItemStyleBorderedを指定してもボタン枠が出ない
  →諦めてフラットに合う文字色を指定した。

・UIImagePickerControllerで画像を選択してもコールバックが呼ばれない
  →何故か二重にretainすることで解決した。ARCだと問題ないのかも。

・ナビゲーションバーのサイズが変わった
  →[[UIDevice currentDevice].systemVersion floatValue] >= 7.0f
   条件分岐してOSにより処理を変えた。

・iOS7対応のアイコン追加
  →120x120、152x152、76x76を追加した。

他のアプリアはまだ検証が必要なので、全てiOS7に対応するまでは結構時間が掛かりそうです。

Play framework 2.0のWebアプリ動作環境

 play warコマンドでwarファイルが作れなくなってるっぽい。
war作成Pluginがあるということは、公式では付属のHTTPサーバを推奨してるんだろうか。

このサイトによるとパフォーマンスは一番良いようだし、無理にtomcatとか使う必要もないか。

iMemoryGraph ver1.8.1をリリース

 修正内容は以下の通りです。
- 横向きのiPadで起動した場合に、ボタンが反応しなくなる不具合を修正
- URLスキームのオプションを認識できない場合がある不具合を修正
  (これによりどのツールでも正しく起動できるはずです。)

iMemoryGraph ver1.8をリリース

 iOS6およびiPhone5に対応したver1.8をリリースしました。

このバージョンのもう一つの特徴はbalusオプションの追加です。
iMemoryGraph://balus
いつもより多めに開放した後、かなりの確率でそのままアプリが
終了するという機能です。
iPhone5とnew iPadでは高い効果を発揮するはずです。

また、iPadで横向きの状態で起動するとボタンが反応しなくなる
不具合が見つかりました。一旦画面を縦に回転すると正しく動く
ようになるようです。近日中に修正版を申請する予定です。

iPhone5を予約!

 最寄りのauショップに問い合わせすると、13時から整理券配布で16時から予約開始ということだった。しかも朝から同じような電話や来店が沢山あったらしいので、いつものヤマダ電機に行く事にした。16時ちょうどに着くと、やはり行列は全く無し!すぐに予約できた。

今はSBのiPhoneが2回線、auガラケー1回線だけど、SBを両方解約してauのiPhone一本にする予定。テザリングの発表は大きい。SBはちょっと田舎にいくと圏外になるし・・。

KeyChainでのデータ保存

 iOSアプリ内でのデータ保存は通常 NSUserDefaults を使うが、ユーザに改ざんされたくないものは KeyChain を使うようにしている。この KeyChain のデータは MacOS のようにアプリの外の領域に暗号化されて保存される。バックアップできない代わりに、アプリを削除しても残っているので結構便利。

で、最近アプリのバージョンアップ対応を行なっていたところ、このデータが読み出せなくなった。プログラムや Info.plist を何度チェックしても問題ない。iOS の KeyChain について調べた所、プロビジョニングファイルが違っていると同じキーでも参照できないようだ。確認すると確かに以前とは違うプロビジョニングファイルを使っていた。

「声域チェッカー」のランキング

 リリース以来全く反響がありませんが、じわじわとダンロード数を伸ばしていき、ついに無料ミュージックカテゴリで1位になりました。ありがとうございます。

Accelerate.framework

 高速な演算処理を行うiOSフレームワーク
数学演算や画像処理以外にも、役立ちそうな関数がたくさんある。
例えば、float配列の最大値を求める以下のような処理を

*C = 0;
for (n = 0; n < N; ++n)
    if (*C < abs(A[n*I]))
        *C = abs(A[n*I]);

Accelerate.frameworkでは次のように書ける。

vDSP_maxmgv(A, 1, &C, N);

難点は、ドキュメントが難しいこと。当たり前だけど専門用語が英語になってるし、似たような関数がたくさんあって、眺めただけ挫折しそうになる。FFT(高速フリーリエ変換)を調べようとしたら、fftと名のつく関数が50以上もあった。気になる関数があったら、ググってサンプルコードを見つけて使い方を理解する方が楽だ。結構日本語の記事も見つかる。

Google Translate API

 色々な国から投稿された文言をクライアントの言語に自動翻訳するような仕組みを導入しようと思ってGoogleの翻訳APIを調べたら、いつの間にか有料サービスになっていてガックリ。公式HPによると、料金は100万文字で20ドル。
またマイクロソフトのMicrosoft Translatorの方は、月200万文字までは無料でそれ以上は有料みたい。
どっちにしてもサービスとして組み込むのは断念しよう。

calendar
      1
2345678
9101112131415
16171819202122
23242526272829
30      
<< April 2017 >>
selected entries
categories
archives
recent comment
others
mobile
qrcode