2013年12月31日火曜日

2013年も終わりますねぇ〜

歳を取るに従って一年があっという間に終わる感覚が早く感じますね。(^^ゞ

今年のiPhone、iPadは高性能化が進み、何でも出来るようになった反面、過去の機種との性能差が大きくなり開発者にとっては頭が痛い状況になりつつあるように思います。

新規アプリならばiOSバージョンをiOS6以降とかにすることである程度高性能なデバイスに限定することも可能ですが、既にリリース済でiOS4以降を対象にしている場合はデバイスの性能差を考慮した機能追加も考えないといけません。

拙作アプリ「クラウド黒板」では描画のUndo/Redo機能を初代iPadでは処理が遅すぎて実装することができず機種を判定することで初代iPadご利用者には申し訳なかったですが、Undo機能を無効化する対応をさせていただきました。

常に最新iOSバージョンにだけ対応するとアプリ開発は楽になりますし高機能化することも可能ですが、可動デバイス数は減ってしまいますので利用ユーザーを限定することになります。

一番良い解決策だと思うのはアップルが同一アプリで複数バージョンを管理可能にしてくれることが望ましいように思います。

iOS4,5ユーザー様の場合は◯◯◯アプリのVer4.2バージョンのアプリをダウンロードして、iOS6以降のユーザー様の場合は◯◯◯アプリのVer7.1バージョンのアプリをダウンロードするようにご利用者デバイスのiOSバージョンに応じたアプリを自動的にダウンロードする仕組みを作って欲しいと思うのは私だけでしょうか。。。

もっと欲を言わせていただければ、iPhone、iPadのユニバーサルアプリも別々のバージョンのアプリにできたり、Retinaディスプレイの有無によっても別々アプリにできたら開発も楽になるのにと思います。

これが実現できれば個々のアプリサイズも最適化できて必要最低限のアプリサイズになりますし、動作も安定するような気もします。

今年最後の書き込みが長く愚痴っぽくなりましたが新機種を短い間隔で発売するのであれば今回書いたような事もご検討いただければと思いますね。
 └アップルのことだし私が考えているような事は検討済みであって欲しいものです。


では、良いお年を。



2013年11月3日日曜日

OS X Mavericks:アプリ申請ができない!?

OS X MavericksではXcode 5.0.1を使うことになります。

拙作cocoaアプリをOS X Mavericksにて正常動作するよう改修する必要がありましたので、問題箇所を改修して いざアプリ申請のためアーカイブし申請画面を開くと下記のメッセージが出てValidateチェックをクリアできない現象が発生。

<エラーメッセージ>
this bundle is invalid.
Apple is not currently accepting applications built with this version of the OS.

このメッセージを頼りにGoogle検索したり原因解決に繋がるヒントがないかと色々と調べましたが、結果的にはこれって言う原因特定には至りませんでした。(^^ゞ
メッセージ内容的には使用しているMacのOSバージョンでビルドしたアプリは受け付けられないって意味みたいですが、当然ながら使用しているOSXバージョンは正規なものですしプレビュー版でもありませんので、このメッセージが出る必然性はないと思われます。

ですんで、OS X Mavericks+Xcode 5.0.1の組み合わせでこのエラーメッセージが発生するのはアップル側の問題である可能性も捨てきれないので暫くは様子見をしています。

とは言え、このままアプリ申請をしない訳にもいきませんので今まで使っていたMacBook(Lion+Xcode4)にてアプリ申請したところ特に問題無く申請出来ました。

ちなみに同様な現象が出ている方がもしいらっしゃいましたらコメントいただければ幸いです。


ではまた〜

2013年10月27日日曜日

OS X Mavericks:操作所感

OSXの最新バージョンである「OS X Mavericks」が正式にリリースされました。

弊社ではOSX向けにもアプリをリリースしていますのでOS X Mavericksでの動作検証も急務でしたが、開発用Macbookは古い機種のためベータ版Mavericksもインストールできなかったため、新たにMacbookを購入する必要がありました。

しかし、どうせならば新機種のMacbook Proを購入したくて発売を待っていた関係で動作検証が遅くなってしまいました。(^^ゞ

何かしら不具合が出ているご利用者様には本当に申し訳ないです。 すいません。。。



一昨日にMacbook Pro13インチ:2.4 GHz Retinaディスプレイモデルを入手出来ました。

早速開封しシルバー色のアルミ筐体の美しいフォルムに暫し感動しつつOS X Mavericksを使ってみました。

少し安定性に欠ける点もあるのか1〜2度フリーズしたりもしましたが、動作も軽快で満足できるOSに仕上がっていると思います。

それ以上にMacbook Proの爆速動作とRetinaディスプレイの美しさは感動に値すると思います。 今までいろいろなノートPCを使ってきましたがこれ程にまで満足いく機種に巡りあったのは初めてです。 SSDストレージ採用で全く動作音がせず、電源ボタンプッシュで瞬時にスリープする操作性。 まさに史上最強ノートPCだと思います。(ちょっと褒めすぎかなw)



OS X MavericksではiCloudとの連携が強化されiPadやiPhoneと同期できる項目も増えてかなり便利になっています。

SafariブラウザのiCloudタブではiPadで現在開いているTabと同じものがMacbookでも参照できたり、PagesやNumbersアプリとのデータ連携も楽にできますので本当に便利ですね。

OS X MavericksではiPad・iPhoneでのiOSと同様なアプリも追加されており、キーボード付きのiPadと見間違えそうな勢いでOSXとiOSの融合が進んでいます。

将来的にはOSXとiOSで同じアプリが動作する時代が来るんでしょうね〜

ではまた。

2013年9月20日金曜日

iOS7:アップデート配信始まりましたね

iOS7アップデート始まりましたね〜( ´ ▽ ` )ノ

世間ではやっぱ賛否両論あるみたいですが私のiPhoneでは遅くなったりも無く、逆によりキビキビ動作するようになりました( ^ω^ )
フラットデザインも1週間も使い続けると慣れるものであまり気にならなくなってきましたね(;^_^A
人間の慣れって怖ろしいです。σ^_^;
リリース直後ですから非互換アプリがあるのは仕方ないですしメインで使っているアプリが使えなくなって困る場合はアップデートは当面見送れば良いだけなのにiOS7は「クソ」とか意味不明な書き込みを見ると寂しくなります。(つД`)ノ

私はiOS7を使ってみて、改善された機能や新機能は良く練られており感嘆に値すると思いましたけどね。(o^^o)

2013年9月19日木曜日

iOS7:アプリ審査の事前チェックメール!?

前回、iOS7用アイコンファイルが抜けていたため、審査レビュー受付前の自動チェックメールの件を書きましたが、その後同様な自動チェックメールが2通送られてきました。

−−−<引用①(抜粋)>−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

Non-public API usage:
  • Apps are not permitted to access the UDID and must not use the uniqueIdentifier method of UIDevice. Please update your apps and servers to associate users with the Vendor or Advertising identifiers introduced in iOS 6.
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

−−−<引用②(抜粋)>−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
iPhone 5 Optimization Requirement - Your binary is not optimized for iPhone 5. As of May 1, all new iPhone apps and app updates submitted must support the 4-inch display on iPhone 5. All apps must include a launch image of the appropriate size. Learn more about iPhone 5 support by reviewing the iOS Human Interface Guidelines.
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
1件目はiOS6から使用不可となった「UIDeviceのUDID」情報へのアクセスに引っかかっているよ〜って内容。

これは多くの場合はAdMob等の広告バナー表示用のライブラリ内でデバイスのUDIDコードを参照しているために引っかかるチェック項目です。

しかし、このチェックはアプリ申請時のValivateチェックで弾かれますしiOS6対応は既に終わっておりUDIDを使用していないのは明らかなのにチェックに引っかかったみたいで納得がいかない感じ。。。

2件目はiPhone用アプリでiPhone5の4inch画面サイズに対応しておかないと駄目だよって内容。

しかし、今回申請したアプリは既にiPhone5画面サイズに対応済みで公開もされていますのでこちらのチェックも納得出来ない。(^^ゞ

どうしたもんかと考えていたところ、数日経ったところで何事も無くレビューを通過し公開に至りました!?

iOS7リリース前でApple社のアプリ審査も超混雑しているようですので、疑わしきは事前の自動チェックメールで注意を喚起しているのかも知れませんね。
 └アプリ審査で多くのアプリがリジェクトされる項目なんでしょう。

まぁ、私のケースでは上記のメールに関しては「気を付けてね」くらいの感じでしたので、過去に上記項目をクリアしているアプリでは気にせずレビュー完了を待ちましょう。

以上

2013年9月13日金曜日

iOS7:アイコンサイズの追加対応について

iOS7非互換対応としてアプリを改修しAppleStore審査に出したところ下記の文面のメールがアップル社から返信されました。
 └審査レビュー受付前の自動チェックで引っかかった感じ。

−−−<引用(抜粋)>−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Missing recommended icon file - The bundle does not contain an app icon for iPad of exactly '76x76' pixels, in .png format.
Missing recommended icon file - The bundle does not contain an app icon for iPad of exactly '152x152' pixels, in .png format.
Missing recommended icon file - The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format.
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

iOS6用にビルドしたのですが、iOS7で新しく必要となったアイコンサイズが含まれていないため、リジェクトされるよ〜って感じのメールでした。(^^ゞ

iPadアプリでは'76x76'と'152x152'の2種類のサイズのアイコン画像が必要。
iPhoneアプリでは'120x120'サイズのアイコン画像が必要。  ってことみたい。

で、オリジナルサイズのアイコン画像(1024x1024)を縮小したりして追加で必要となるアイコンファイルを作ることになりますが、ここで便利なサイトを紹介します。

<ios,ios7,android用アイコン画像生成サイト>
 http://makeappicon.com

サイトにアイコン画像ファイル(1024x1024)をアップロードして受信用メールアドレスを入力すれば必要なアイコン画像が全て生成されメールにて送付されます。

送付されてきたzipファイルを解凍するとios,ios7,androidフォルダがありますので、ios7フォルダ内の"Icon-76.png"と"Icon-76@2x.png"ファイルがiPad用に追加となるアイコンファイルです。

ios7フォルダ内の"Icon.png"が'120x120'サイズのアイコン画像ファイルなのですが、iOS6対応アプリの場合には"Icon.png"(114x114)が存在する場合は同じファイル名になっていますので"Icon.png"→"Icon-120.png"と名前を変えてアイコン追加すればOKです。
 └info.plistのCFBundleIconFilesキーへアイコンファイル名追加も忘れずに!

結果としてiPadアプリでは8種類のアイコンサイズ、iPhoneアプリでは5種類のアイコンサイズを作成して含める必要があります。


画像に拘らなければ上記サイトで一度に作成可能ですのでアプリ審査の際は忘れずアイコンファイルを追加しましょう。


以上

iOS7:GSTwitPicEngineライブラリの動作不良

アップル社のiOS7アプリの審査も始まり、本格的に新iOS7リリースへの秒読みが始まりましたね〜。

iOS7での拙作アプリの互換性について、iOS7アップデート後に検証をして問題が無いと思っていましたが一点だけ非互換が発生しました。

厳密に言うとiOS6→iOS7非互換ではなくアプリ内部で利用していたTwitter投稿ライブラリ部分が正常に動作しませんでした。
 └GSTwitPicEngine等のTwitPic投稿ライブラリ

非互換箇所を調査してiOS7でも動作する様改修も考えましたが、iOS自体にTwitter等のSNSへの投稿用フレームワークも実装されていますし、操作性も向上する事から今回はそれらのフレームワークを利用する様にプログラムを書き換えました。

これにより古いiOSバージョンの一部を切り捨てる事(iOS5.1以降のみ動作保証)にはなりましたが、古いiOSでもアプリの継続利用は保証しています。

以上

2013年9月11日水曜日

iOS 7 GM seedインストールしてみました〜

本日(9/11)「iOS 7 GM seed」がリリースされてましたんで、iPad3へインストールしてみました。
 └GM seedとはゴールデンマスターの意味でこのバージョンが一般リリースされます。

拙作アプリのiOS7での動作検証が目的ですので、本当はiOS7ベータ版で検証しておくべきなんでしょうが、そんな影響のあるアプリでも無いですし対処が必要になったとしてもベータ版時点では非互換→対応情報が少ない状態ですので「GM seed」がリリースされたタイミングから非互換検証を行っています。
└それでも日本語の情報は殆ど無いですが。。。

更新インストール作業自体は超スムーズに進みます。 特に注意する点も無し。
└思いの外時間は掛かりましたが。。。(小一時間くらい)

アップデート後の画面もシンプル過ぎる程シンプルに変わってますねー。(白バックに黒文字オンリーw)
あと、「パスコード」設定が追加されてました。


iOS7起動後の第一印象は。。。

やっぱり、フラットデザインになった画面・アイコンでしょうか。(^^ゞ
慣れるまでは違和感を感じると思いますねぇ〜。 特に画面サイズの大きいiPadでは特に感じるのではないでしょうか。
└安っぽい感じがするのは私だけでしょうか。。。(^_^;)

当然ながらアップル社製アプリ以外は元々のアイコンのままですので、フラットとグローアイコンが混在する間は統一感がなく変な感じですかね。 iOS7対応版リリース時にはアイコンをフラットデザインに変更するアプリが増える筈ですからそれも徐々に解消するでしょう。 あと、UIもフラットにしないと統一感が出ないのでUI全てを変えるとなると対応作業が大変でしょうね。(私はアイコンだけフラットに変更予定)


機能面での変更については。。。

機能的には細かい変更が散りばめられており、グッと使いやすくなりエフェクトも楽しいと思います。 しかし、くどいようですがフラットデザインだけはいただけないなぁ〜

動作速度も極端に重くなっている印象もなくスムーズですね!
個人的にはマルチタスキング(タスク切り替え)が使い易くなっているのがグッドだと思いました。


非互換について。。。

思っていたより非互換は無いようで、拙作アプリは全て問題無く動作しており機能・挙動も正常で特にiOS7対応は必要なさそうです。 良かった良かった!


最後に。。。

iOS7は機能面も改善され安定性も高いアップデートで文句を付けるとしたら「フラットデザイン」の採用だけですね。(-_-;)

一般アップデートが始まったらフラットデザインについて「誰得」とか「安っぽい」とか一斉に叩かれる予感がしますねw


以上

2013年8月27日火曜日

残暑お見舞い申し上げます。

超久しぶりのブログ投稿です。(^^ゞ

前回が「謹賀新年」なんでブログ閉鎖していたと思われても仕方ない位の放置ぶりですよねぇ〜 (^_^;)

ここ数日は少し過ごし易くなってきましたが、今年の夏はまさに「猛暑」でした。
そんな猛暑の中、寝室のエアコン故障に見舞われた上に「故障」→「メーカー修理」→「ガス漏れ」→「メーカー再修理1(部品なし)」→修理部品待ち→「メーカー再修理2」とフザケているのかと言いたくなるような故障対応に遭いながら、イライラの夏でした。



iOS開発の方は新アプリ(iPad版とMac版)を1つリリースしそれなりにダウンロードはされているようです。
今回は無料アプリで「アプリ内購入」にて広告削除・機能追加する形態のアプリにしており、iOSアプリでは以前から「アプリ内購入」を実装していましたがMacアプリでは初めて「アプリ内購入」に対応しました。

今回のアプリのように無料アプリとする事で気軽にダウンロードしてもらい、アプリを気に入っていただき新機能が欲しい場合や広告を削除したい場合には「アプリ内購入」にて制限を解除してもらう方式はプロモーションに費用を掛けられない弊社のような個人商店的な企業にとっては宣伝費が掛からずリスクも低い方式だと思います。

知名度の無い会社の有料アプリでは例え最低価格(85円)でもダウンロードすらして貰えないのがAppStoreの実情ですので、まずはダウンロードしてもらう事が最初のハードルになります。 そのためには無料アプリにするのが良いとの判断です。

そうするとダウンロード数の一定のパーセンテージの人は「アプリ内購入」してくれます。(不思議なことにこの購入%はアプリが違っても大体同じくらいの割合)

ダウンロード数が増えると「広告収入」もそこそこな金額になってきますので、広告収入メインで収益を図る収益モデルも有りだとは思いますが、ダウンロード数を増やすだけではなく毎日起動するようなアプリじゃないと厳しいかも知れません。

そう言う意味では作成したアプリの利用形態(毎日使うアプリなのか、一回遊べば終わるアプリなのか)にあった収益モデルを選択することも重要になってくると思います。

例えば、パズルゲームを作ったとして新規ステージを毎日配信するようにする事で日々遊んでもらえるように誘導できれば「広告収入」だけでも十分な収益を得られる可能性があります。(当然、毎日遊んでも飽きないゲームじゃないと駄目ですが。。。)

iOS開発で収益を目指すならば収益モデルも事前に加味した上でアプリをデザイン・開発する事が重要だと思います。

次回はiOS7ネタを書きたいかな〜

2013年1月7日月曜日

謹賀新年

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

昨年末、携帯電話をガラケーからiPhone5に変えました。

流石にガラケーって訳にもいかないのでandroidスマホへの機種変も考えましたがandroidはどうしても使いたくなくて、20年来のdocomoユーザーでしたがauへMNPしちゃいました。

LTEも始まりましたしiPhone5もデザイン・性能的にも完成形に近いモデルだし良いタイミングかなぁって事で。。。

まぁこれでiPhone実機でのテスト(今まではiPod touchでテスト)もできますし良い決断だったと思います。
 └ちまたで噂のau iPhone5のパケット詰まりも起きた事ないし今のところ大丈夫かな。


あと、iPhone5の縦長画面は個別にアプリ対応が必要で面倒な機種だなって思っていましたが実際に所有してみると持った時のバランスも良いですし、デザインもグッドですね。

これからはこの画面サイズが主流になっていくことでしょう。



以上、2013年もよろしくお願いします。