Badge Maker
簡単に缶バッジ風画像が作れるアプリBadge Makerをリリースしました

簡単に缶バッジ風画像が作れるアプリBadge Makerをリリースしました
iPadアプリ、こどもレターをリリースしました
字が書けない子どもでも簡単に手紙がかけるアプリです
字の勉強というより、手紙を書く楽しさを知ってもらえればと思って作ったアプリです。
ただいまセール中で85円です。
よかったら使ってみてください。
アプリの修正版を申請しようと、Validateまで済んでいざアップしようとすると
An error occurred uploading to the iTunes Store
というエラーが出てアップできない問題にぶつかりました
Xcodeは最新の4.3.2
Appleのサーバ側の問題かな?と思って、しばらく時間を置いて試してもダメ。
アプリをArchiveし直して試してもダメ。
Provisoning Profilesを作り直してもダメ。
Application Loaderだとうまくいくという情報があったので試してみたけどダメ。
全く同じ
An error occurred uploading to the iTunes Store
というエラーが出る。
Application Loaderは最新の2.5.2。
ネットを探しまわってみるとどうやらJavaが怪しいっぽい。
そういえば、昨日Javaのセキュリティアップデートをインストールしたような・・・
で、コンソールでXcodeがErrorを出しているログを見てみると
Xcode: Error:
Java 1.5, 1.6, or 1.7 is required. Currently, java is the default java version. Please upgrade.
あーやっぱりJavaが問題みたい。
バージョンが問題のようなのでJava Preferecesでいろいろやってみたけど解決せず。
ここでギブアップ。
Apple側の対応を待つしかないか、と諦めて寝ました。
翌朝諦めきれずに情報を探したところ、昨夜見つからなかった情報がありましたありました。
https://devforums.apple.com/thread/147231
以下を実行すれば無事解決。アップロードできました。
cd /System/Library/Frameworks/JavaVM.framework/Versions
sudo ln -s CurrentJDK /System/Library/Frameworks/JavaVM.framework/Versions/1.5
sudo ln -s CurrentJDK /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0
今回得た教訓としては、
・Xcodeを使っている人はJavaのアップデートには気をつけよう
・ネットで情報が見つからなくて問題が解決しない場合はムキにならずいったん寝た方がいい
ということでしょうか
納期が迫ってるときにこんな不具合にあったら怖いですね
データ登録済みのリストを削除した場合にアプリが終了するという不具合の報告をいただきました。
iOS5の環境で起こる不具合のようです。
ただいま修正版を申請中ですので、もうしばらくお待ちください。
※修正版、無事公開されました。

あわせて、楽天レシピからレシピを正しく取得できない不具合にも対応しました。
こちらは、アプリ設定画面の「レシピサイト解析ファイルの更新」から解析ファイルを更新していただくことで正しく動作するようになります。
よろしくお願いいたします
震災に備えて+東電に1円でも多く払いたくないという理由から太陽光発電ができるエネループを購入しました。しばらく使ってみましたが、晴れていればこのエネループだけでiPhoneの充電分は発電できそうです。ただし、僕の場合あまり電話もしませんし、ほとんどWi-Fi接続なので、外でiPhoneをバリバリ使う人にはちょっと厳しいかもしれません。
付属でKBC-L3Aが付いているのですが、これだとiPadの充電は出来ないのと、mobile boosterが2台あるとローテーションできて便利そうなので、容量が大きめのKBC-L27Dを追加で購入しました。microUSBの変換ケーブルを挟む必要がありますが、今のところ問題なく充電できています。
非常に規模は小さいですが、僕なりの反原発行動です。
iPadアプリを申請しようとアーカイブを作成してValidateしたら、Icon-72.pngが正しくないとエラーがでて先に進めなくなってしまいました。
以下のエラー
Icon-72.png: icon dimensions (0 x 0) don’t meet the size requirements. The icon file must be 72×72 pixels, in .png format (-19014)
このアプリは一度リジェクトされて再申請するものなので、Icon-72.pngは全く触ってないんだけどな・・・
と、ネットで調べたらどうやら OS X 10.7.3で不具合がでていて、Application Loader 2.5.1をインストールすれば解決するそうです。
https://devforums.apple.com/message/612098
というわけで、Application Loaderをインストールして無事再申請できました。
次はリジェクトされなければいいんだけど・・・
LEGOを使ったiPhoneアプリ。なかなか面白そうですね。アプリは無料でダウンロードできますが、LIEF OF GEORGEのパッケージがないと(というかパッケージの中の台紙がないと)全く使えないですね。日本では未発売ですが、ネットで買えるところがないか調べたら5000円くらいしてる・・・
クリックブリックで取り扱ってくれないかな
LIEF OF GEORGE
UIPopoverControllerはpopoverContentSizeプロパティまたはcontentSizeForViewInPopoverプロパティで画面サイズを変更することができますが、これらのプロパティに同じ値を設定しても描画エリアが異なるので注意が必要です。
popover.popoverContentSize = CGSizeMake(320, 480);
実際の描画エリア:320×443
self.contentSizeForViewInPopover = CGSizeMake(320, 480);
実際の描画エリア:320×480
popoverContentSizeはheightが37px小さくなります
なんかすっきりしないのでポップオーバーのサイズを指定したい場合はcontentSizeForViewInPopoverを使うのがよさそうです
あとUIPopoverController内のUIViewControllerのinitでself.view.frameの値を調べると
size=(width=748, height=1024) (ランドスケープ(横)モード時)
または
size=(width=768, height=1004) (ポートレート(縦)モード時)
がセットされているので、この値を使ってUIViewを作ったりするととんでもない大きさになります。iPhoneのソースをそのまま使う場合は要注意です。viewWillAppearで調べるとちゃんとポップオーバー内のviewのサイズが得られます
LEGOでつくってみました。
UIPopoverControllerの表示サイズはpopoverContentSizeプロパティを設定することで変更することができます。
これを設定しないと画面いっぱいに広がります
ですが、これは1画面の時の場合のみで有効で、ポップオーバー内で別のViewControllerに遷移すると同じく画面いっぱいに広がってしまいます。
これを防ぐためにはpopoverContentSizeプロパティではなく、contentSizeForViewInPopoverプロパティを各ViewControllerのviewDidLoadで設定するとサイズを固定することができます。
- (void)viewDidLoad
{
[super viewDidLoad];
self.contentSizeForViewInPopover = CGSizeMake(320, 480-44);
}
先日公開した「Today’s Music」ではデータの保存にSQLiteを使いました。
といってもSQLiteをそのまま使うと大変っぽいので、ラッパーのFMDBを使わせてもらいました。
これを使うとすごく簡単にDBを扱えます。
あと、Liteってソフトを使うとデータベースの操作が簡単にできます。
データベースの中身をちょこちょこ触ってデバックしたい時に大活躍しました。
「スティーブ・ジョブズ」を読んでいるのですが、写真が少なくて少し物足りないので、電子書籍版の「スティーブ・ジョブズとアップル奇蹟の軌跡」を買いました。これは写真が豊富で面白いです。
僕が一番最初に買ったMacはLC575(厳密にはソフトがいっぱいついたPerforma575)。頭でっかちでデザイン的にはイマイチのモデルです。モニターが別のLC630がすごく羨ましかった覚えがあります。
HyperCardでゲームを作ってMACLIFEに掲載してもらったこともありました。ゲームをフロッピーディスクに入れて編集部に送ったりしてたんですよね。ネットが普及した今から考えるとなんとものんびりしていました。
iPhoneアプリToday’s music(今日の1曲)がリリースされました(無料)
iTunesミュージックストアから1日1曲ランダムに楽曲を選曲します。
国とジャンルをあらかじめ設定できるので、ある程度自分の好みの曲に絞り込むことができます。もちろん全ての国、全てのジャンルから選曲する事も可能です。選曲された曲はデータベースに保存されますので、後からカレンダー表示とリスト表示で見直すことができます。また、気に入った曲はお気に入りリストに登録できます。
選ばれた曲のジャケットがアプリ内のカレンダーに貼り付けられていくので、コレクション的な楽しみもあります。全くのランダムなので、好みではない曲が選ばれる事もありますが、偶然の出会いを楽しんでもらえると嬉しいです。iTunesミュージックストアには昔のヒット曲もたくさんあります。もしかしたら昔よく聴いた懐かしい曲と再び出会えるかもしれません。
ちょっと前の事ですが、アプリ内で表示している広告内容がダメってことでリジェクトになったことがあります。
広告はiAdとAdMobを利用しているのですが、問題になったのはAdMobの広告です。親切にも問題になった広告のスナップショットを送ってきてくれました。確かにこれは良くないな・・・

とりあえずAdMobのフィルターでApple関連のものをブロックして再提出してリリースされました。
たぶん極稀な事だと思うのですが、とにかく早くリリースしたい場合は広告内容にも気をつけたほうがよいかと思います。
Full of musicのバージョンアップ版がリリースされました。
主な変更点は
・バックグラウンド再生に対応
・国の追加(全51カ国)
です。
バックグラウンド再生の機能追加により、アプリケーションを終了させても音楽再生が可能になりました。
他のアプリの使用しながら、iTunesのランキングをチェックすることができます。

あと、メタル調のデザインが野暮ったかったのでデザインの見直しをしました。

TOP300とTOP99のマイナーバージョンアップ版が公開されました。
TOP300
TOP99(Free)
今回修正したのは、テーブルに貼り付けた画像の処理です。
お気に入りリストやYouTubeの結果画面で別サーバにある画像を読み込んだものを貼り付けているのですが、この画像表示処理をtableView:cellForRowAtIndexPath:内で直接行うと、件数が多くなった場合にスクロール動作で引っかかるようになります。
というわけで、画像の読み込み&表示は別スレッドで行うように変更しました。
これで件数が多くなってもスムーズに動くと思います。

他のアプリでのテーブル画像表示の動作を見てみると、このやり方が当たり前っぽいですね。勉強不足で申し訳ないです。
アプリの中に書籍が格納されるタイプの電子書籍を初めて買ってみました。
買ったのは
・kinoppyで「スティーブ・ジョブズ」1・2
・eBookJapanで「ブラック・ジャック創作秘話~手塚治虫の仕事場から~」(漫画)です
「スティーブ・ジョブズ」はアプリ版も出ていますが、将来の事を考えて購入はやめました。例えばiOS10くらいになってもこのアプリは今と同じように起動するのか。もちろんアプリの提供会社がサポートを続けてくれれば問題ないのですが、実際問題永久的にサポートは無理でしょう。それにiPhoneからAndroidに機種変更しても読めなくなってしまいます。なので、アプリ版の本は安くて1回読んだらおしまいってものに限定して買っています。将来再び読む可能性があるとか、ちょっと高価な本はマルチプラットフォーム対応の電子書籍にしたほうが良いと思います。
KinoppyはiPhoneとiPadで栞の同期ができるのでとても便利です。一方、eBookJapanは他の端末で読むにはサーバ(トランクルーム)に一度本を戻す必要があります。同時に2つの端末で読めないようにするための仕組みですが、これはとても不便。オライリーの電子書籍みたいに、全ページにメールアドレスを埋め込んだPDFタイプが使い勝手が良くて好きなんですけどね。なんとかならないものかな。
「スティーブ・ジョブズ」は読みかけなのでなんとも言えませんが、「ブラック・ジャック創作秘話~手塚治虫の仕事場から~」はおすすめの一冊です。手塚治虫のすごさを改めて思い知らされました。
今まで作ったアプリに音楽の連続再生を組み込んでいるのですが、アプリを終了させると音楽が止まってしまいます。なので、iOS4から使えるバックグラウンド再生を組み込んでみました。1つ前の世代のOSの新機能なので情報も豊富だろうと取り組んだのですが、意外な所で手間取ってしまって丸1日かかってしまいました。
バックグラウンド再生自体は持っている本に詳しく書いてありました。
iOS4プログラミングブック
対応点は
・Info.plistにUIBackgroundModesキーを追加してaudioを追加
・AudioSessionのカテゴリにバックグラウンド処理が許可されている値を設定
・オーディオコントロール画面・リモコンでの操作のハンドリング
です
本の内容をそのまま載せるのは良くないので書きませんが、以下の資料とAppleのサンプルプログラムを見れば対応出来ると思います。
iOSアプリケーションプログラミングガイド P.57
Appleのサンプルプログラム MixerHost
ここまではすんなり対応できたのですが、再生中のミュージックのタイトルをコントロールに表示する方法がわからなくて困りました。バックグラウンド再生のことを説明しているサイトでもコントロールへのタイトル表示に関しては全然触れていないんですよね。

どうやらタイトル表示はiOS5からの新機能だったみたいで、以下のサイトのやり方で表示できるようになりました。
http://stackoverflow.com/questions/8387262/how-to-set-an-title-of-the-currently-playing-audio-in-iphone-lock-screen
今年もよろしくお願いいたします。
iPhoneアプリ「ヒミツスケッチ」の配信を開始しました。
Read more on “ヒミツスケッチ” »