‘iOS’のエントリ

来月またアメリカに行きそうなので,英語の勉強も兼ねてSafari Books OnlineのSwift講座を観たりしている。Objective-Cはちょっと今の時代厳しいよね,って感じだったので,Analog Book ReaderのiOS移植はする気になれなかったけど,Swiftならいけるか? 少し興味が出てきたのでもう少し勉強してみよう。

iPod touchにiOS7をインストール。Weather Typing for iOSは,アイコンが暗すぎる以外は問題なし。

Xcodeのバージョンを上げてからWeather TypingをビルドしてiOSに入れてみたが,設定とかのUIがiOS7っぽく変わる。タイトルバーが上に出てくるし,アップデートするなら少し直さないと。

2013092101

iTunes ConnectでAppStoreに登録したアプリケーションのダウンロード数が分かる。しかし,トータルの数が出なかったり国別に分かれていたりしてとても使いづらい。過去2週間分しか分からないし。ドキュメントによると,ダウンロード数を取得するJavaクライアントがあるよう。なので以下のシェルスクリプトをcronに登録して毎日ダウンロード数を取得するようにしてみた。

#!/bin/sh
cd <path>
java Autoingestion <userid> <password> <vecdorid> Sales Daily
  Summary `date +%Y%m%d -d "3 days ago"`
gzip -dc *.gz | sed -e '1,1d' -e 's/t/,/g' >> appstore.csv
rm *.gz

Weather typing for iOSリリース。昨日の夜中にAppleからレビューが始まったというメールをもらって、3時間後にレビュー完了のメールが来た。はや。朝、リリース日を今日(US時間で昨日)に変更したら、App Storeに公開された。

Weather Typing for iOSのApp Storeでの公開をAppleに申請した。リジェクトされなければ数週間で公開されるはず。

Weather Typing iOSの話。ウェザタイはタイピングソフトなので,1ワード打ち切ったらそのワードを消して次のワードを表示するように作っている。これをiOSでやる方法を探しているが,難しい。Text Fieldを消すのは楽なんだけど,Text Composite(日本語入力中に出る変換前の文字列)を消すことができない。ちょうどUISearchBarの×ボタンのような動作をしたいんだけど。ってことでUISearchBarの実装を調べてみるとどうもこんな感じっぽい。

UITextField _clearButtonClicked
{
    ...
    [WebView clearText]
    [[UIKeyboardImpl sharedInstance] textChanged]
    ...
}

UIKeyboardImpl textChanged
{
    ...
    [self clearInput]
    ...
}

UIKeyboardImplは非公開のクラス。なのでもしUIKeyboardImplのメソッドを使ったらAppleにリジェクトされてApp Storeに登録できない。今のところ解決策なし。

Weather Typing for iPhone。ようやくゲームができるようになった。でも完成まではまだまだ遠い。

2012111801

ついにiPhone版Weather Typingの開発に着手。iPhone Game Development の本を買ったんだけど,既にWindowsのゲーム開発経験がある人にはすごく役立つ。本屋で日本の本もいくつか見てみたが,開発者アカウントの取り方とかxcodeの使い方とかAPIリファレンスばっかり。この本はゲームループの作り方とか2D/3Dのレンダリングの方法とか知りたいことが書いてあってよい感じ。

Objective-C。メモリ管理はCOMみたいに参照カウントなのか。Java C#に慣れてると今更そんなことしたくない。まだ実際のコーディングしてないけど全体的に言語仕様がめんどくさい・・・。

Objective-Cを勉強してるんだけど,どうも言語思想が分からない。言語的には,C言語の文法にSmalltalkっぽいオブジェクト指向をかぶせてPascalっぽい記述を導入してPerlみたいな記号の羅列がある感じ? 今のところなんだかちぐはぐな印象。例えば,C言語はとにかく効率を優先,とかSmalltalkはとにかく全てがオブジェクト,とかPerlはいろんな記述方法ができるように,とかPascalは読みやすさを優先,とかあるんだけどObjective-Cは結局どういう言語なんだ。Objective-Cを見てるとC++のよさが分かる。絶妙な言語仕様でうまいことCをオブジェクト指向に拡張してある。Objective-Cも実際にプログラムを書き始めてみたら印象変わるかなあ。

Mac開発環境のXcodeはなかなかよくできてる感じ。C言語が元になってるにも関わらず補完機能とかリファクタリング機能とか充実してる。この辺はEclipseのJavaとかC#なみに便利かも。

iOS Developer Programに登録。日本人は必ず一度はじかれるとの噂通り一度はじかれたり,開発させる気ないんじゃないの的な複雑な環境構築を乗り越え,ようやくiPod touch実機にテストアプリを入れることができた。あとは作るだけ。

なんだけど一つ問題が。Apple Storeにアプリを公開すると本名が出るのか。まあ本名公開して困ることはしてないけど,やっぱり抵抗がある。ま,これから勉強開始するところだし完成してから考えるか。

というかDocomoからWindows Phoneが出る前に完成させないとそっちに興味が移ってしまう。

携帯を契約せずにiPhone開発する方法を聞き込みしたところ,iPod touchでwifi使えばほぼiPhoneだという情報を入手。その線でいくか。