その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

評判のいいiOSアプリ開発のTips ベスト20

iOSアプリ開発に役立つTips』という Facebook ページをやっておりまして、そこで評判が良かった投稿(※)を 20 個ほど紹介します。


(※) Facebook ページの insights にある「クチコミ度」で判断しました

アプリ実行中にコードを修正してそのまま実行中のアプリに反映させる

アプリ実行中にコードを修正してそのまま実行中のアプリに反映させることができるXcodeプラグイン。


実機でもシミュレータでも使用可能とのこと。実機での動作検証中に修正して再インストールは時間かかるので、超ありがたいかも。


Injection for Xcode

「PCのwebブラウザからiPhoneのカメラロールにアクセスできるようにするアプリ」のしくみ

アプリ側でURLを発行している画面キャプチャがあるので、アプリにHTTPサーバ機能をもたせて(古いけどCocoaHttpServerとか)、アプリ側でカメラロールにアクセスしてその情報をweb経由で見せる、というしくみでしょうか。



新作!iPhoneのカメラロールをブラウザからアクセス出来るようにするアプリ「AirLib」を公開します | 関西/大阪のiPhone・iPadアプリ開発 feedtailor Inc. 社長ブログ

イラレで書いたパスデータを、UIBezierPathのコードに変換してくれるイラレ拡張

イラレで書いたパスデータを、UIBezierPathのコードに変換してくれるイラレの拡張。


UIBezierPath でコードだけでいい感じの図形とか画像を描くのは無理があるので、これは便利かも。


Drawscript - convert Illustrator shapes into code

「アプリを操作中の写真」を自動生成してくれるサービス

スクリーンショットの画像をアップすると、ハメコミ合成で「アプリを操作中の写真」を自動生成してくれるサイト。


ちょっと手元のスクリーンショットでやってみましたがなかなかいい感じの仕上がりでした。


PlaceIt by Breezi - Generate Product Screenshots in Realistic Environments

コマンドラインからJSONをごにょごにょする

特にiOSアプリ開発に限った話ではないのですが、jqという、「コマンドラインからJSONをごにょごにょできる」コマンドがかなり便利そうです。


たとえば、ルート直下の要素だけを取り出したい場合は、

$ jq ".[0]" hoge.json


"entities"要素内の"hashtags"要素内の"text"という要素を取り出したい場合は

$ jq ".[].entities.hashtags[].text" hoge.json


みたいな感じで簡単にとれて、はじめて使うAPIのレスポンスの構造を調べるときとかに活躍しそうです。


jqコマンドが実は高性能すぎてビビッた話

NSNumberFormatterで英語の勉強

NSNumberFormatterのいろいろなサンプル。3桁ごとにカンマ区切りにする「以外」のサンプルってあまり見つからないので参考になりました。


とくに、NSNumberFormatterSpellOutStyle がおもしろくて、たとえば、

[formatter setNumberStyle:NSNumberFormatterSpellOutStyle];
NSString *formattedOutput = [formatter stringFromNumber:@129];

こうやると、

one hundred twenty-nine

って出力してくれます。


これで英語の勉強アプリつくれそうです。


Formatting Numbers – NSNumberFormatter Examples

iPhoneの設定から通信速度を制限する

久しぶりに設定の「デベロッパ」のとこ見てみたら、この通信速度以外にも、iAdのテスト用設定とかも追加されてました。



iPhone5実機(iOS6.0.2)で通信速度を制限する #iOS #iPhone - Qiita

『Core Animation Programming Guide』大幅改定

『Core Animation Programming Guide』が大幅改定されたもよう。前回の更新から実に2年4ヶ月ぶり。『Animation Types and Timing Programming Guide』の内容もこっちに組み込んだとのこと。


Core Animation Programming Guide

CAEmitterLayer, CAEmitterCellを使ったパーティクルエフェクトの実装方法

iOS5からCore Animationに追加された、CAEmitterLayer, CAEmitterCellを使ったパーティクルエフェクトの実装方法について書きました。


UIKit上でパーティクルエフェクトを表示する - Over&Out その後

コマンドラインから.ipaをつくる

コマンドラインから.ipaをつくると"make adhoc"だけでできて楽ですよ、という話。


最初だけMakefileをつくるひと手間が必要ですが、curlコマンドも書いておけばビルド完了後に自動でtestflightにアップもできる、というのは便利そうと思いました。


.ipaをサッとつくる - blog.ishkawa.org


(派生記事)
.ipa ファイル生成を自動化する

バッテリーの超詳細情報を取得する

これを実機で実行すると、バッテリーの相当細かい情報まで取得できます。電圧までとれる。


ここまでとれるのか〜、とソースの中身みてみると、もろにプライベートAPI使ってました。。OSDBatteryっていうクラスがあるようです。


BatteryInfo

自然言語のテキストを属性で区分

NSLinguisticTaggerについて書きました。


自然言語のテキストを品詞(名詞、動詞、代名詞)や「個人名」「地名」といった属性で区分することができます。あと、日本語の形態素解析も可能です。



自然言語のテキストを属性で区分する - Over&Out その後

Auto Layoutの詳説スライド

70ページにわたるAuto Layoutの解説スライド(日本語)


Auto Layoutの基礎知識から、IBでの設定方法、ソースでの設定方法などなど。



iOS6 Auto Layout

画像を使用せずアイコンを描画

FacebookとかTwitterアイコンのUIButtonを描画してくれるOSS。


UIBezierPathでパス描画してUIImageを生成してるので画像ファイル不使用。与えたサイズに対して相対位置で描画するように実装してあるので大きさも自在。


GRButtons

MacのキーボードからiPhoneに文字入力

MacのキーボードからiPhoneとかiPadの文字入力できるようになります。今設定してみたばかりだけど超便利な予感。



MacをWinodwsのキーボードにできるアプリ、1Keyboardが理想的すぎて感動した

ファイルテンプレートの詳細な解説ページ

Xcode4の、ファイルテンプレートまわりの詳細な解説ページ。


TemplateInfo.plistの各要素の説明とか、"___FILEBASENAMEASIDENTIFIER___"とかのテンプレート関連マクロが何に展開されるか等、とにかく徹底解説な感じです。


このあたりはAppleの正式なドキュメントがないので、レア情報かと。



Creating Custom Xcode 4 File Templates

画面の解像度種別を返してくれるカテゴリ

iPhone5の画面サイズ対応についての質問と回答。回答2つめあたりの、UIDevice+Resolutionsっていうenumで定義した画面の解像度種別を返してくれるカテゴリはつくっとくと便利そう。



iOS 6 apps - how to deal with iPhone 5 screen size? - Stack Overflow

AppStoreのレビューをスクレイピングしてDBに保存

AppStoreのレビューをスクレイピングしてDBに保存したり表示したりするツール。


保存したレビューの一覧表示だけじゃなく、★の数を集計してグラフ表示したり、頻出キーワードを抽出したりもできるとのこと。


AppReviewViewer

iOSアプリ開発の細かい仕事で小遣い稼ぎ

仕事をアウトソースできるwebサービス。Skill RequiredをiPhoneに絞ると結構iOSアプリ開発まわりの仕事もでてきます。


アプリまるっと作ってくれ系は安すぎるものが目立ちますが、リンク先はGPUImageの調整をしてほしいというもので、こういう細かい仕事は小遣い稼ぎにはいいかもしれません。(この案件は既にclose)



GPUImage adjustment | iPad | iPhone

ビューにスポットライトをあてる

スポットライトのように、中心をピークに、放射状に徐々に暗くするOSS。addSpotlightInView:atPoint: っていう感じでスポットライトをあてるビューと位置を指定するだけなので直観的。


ソースを見たところ、内部実装としては、CoreGraphics の CGGradientRef を使用して実装している。ちゃんとadd/removeのときにふわっとするアニメーションも実装してある。



MLPSpotlight for iOS - Cocoa Controls

おわりに

今回20個ほどピックアップしましたが、日々ちまちまと投稿しているので、Facebookページの方にはこの10倍ぐらいはTipsがたまってると思われます。


「いいね!」しておくとTipsがタイムラインに流れるようになるので、よろしければどうぞ!


iOSアプリ開発に役立つTips
http://www.facebook.com/iOSDevTips