『iOSアプリ開発に役立つTips』という Facebook ページをやっておりまして、そこで評判が良かった投稿を 20 個ほど紹介します。(※ Facebook ページの insights にある「クチコミ度」の高いもの)
##アプリ実行中にコードを修正してそのまま実行中のアプリに反映させる
アプリ実行中にコードを修正してそのまま実行中のアプリに反映させることができるXcodeプラグイン。
実機でもシミュレータでも使用可能とのこと。実機での動作検証中に修正して再インストールは時間かかるので、超ありがたいかも。
##「PCのwebブラウザからiPhoneのカメラロールにアクセスできるようにするアプリ」のしくみ
PCのwebブラウザからカメラロールにアクセスできるようにするアプリ。
アプリ側で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のレスポンスの構造を調べるときとかに活躍しそうです。
##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
##バッテリーの超詳細情報を取得する
これを実機で実行すると、バッテリーの相当細かい情報まで取得できます。電圧までとれる。
ここまでとれるのか〜、とソースの中身みてみると、もろにプライベートAPI使ってました。。OSDBatteryっていうクラスがあるようです。
##自然言語のテキストを属性で区分
NSLinguisticTaggerについて書きました。
自然言語のテキストを品詞(名詞、動詞、代名詞)や「個人名」「地名」といった属性で区分することができます。あと、日本語の形態素解析も可能です。
自然言語のテキストを属性で区分する - Over&Out その後
##Auto Layoutの詳説スライド
70ページにわたるAuto Layoutの解説スライド(日本語)
Auto Layoutの基礎知識から、IBでの設定方法、ソースでの設定方法などなど。
##画像を使用せずアイコンを描画
FacebookとかTwitterアイコンのUIButtonを描画してくれるOSS。
UIBezierPathでパス描画してUIImageを生成してるので画像ファイル不使用。与えたサイズに対して相対位置で描画するように実装してあるので大きさも自在。
##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に保存したり表示したりするツール。
保存したレビューの一覧表示だけじゃなく、★の数を集計してグラフ表示したり、頻出キーワードを抽出したりもできるとのこと。
##iOSアプリ開発の細かい仕事で小遣い稼ぎ
仕事をアウトソースできるwebサービス。Skill RequiredをiPhoneに絞ると結構iOSアプリ開発まわりの仕事もでてきます。
アプリまるっと作ってくれ系は安すぎるものが目立ちますが、リンク先はGPUImageの調整をしてほしいというもので、こういう細かい仕事は小遣い稼ぎにはいいかもしれません。(この案件は既にclose)
GPUImage adjustment | iPad | iPhone
[投稿]((http://www.facebook.com/iOSDevTips/posts/525518434137438)
##ビューにスポットライトをあてる
スポットライトのように、中心をピークに、放射状に徐々に暗くするOSS。addSpotlightInView:atPoint:
っていう感じでスポットライトをあてるビューと位置を指定するだけなので直観的。
ソースを見たところ、内部実装としては、CoreGraphicsのCGGradientRefを使用して実装している。ちゃんとadd/removeのときにふわっとするアニメーションも実装してある。
MLPSpotlight for iOS - Cocoa Controls
##おわりに
今回20個ほどピックアップしましたが、日々ちまちまと投稿しているので、Facebookページの方にはこの10倍ぐらいはTipsがたまってると思われます。
「いいね!」しておくとTipsがタイムラインに流れるようになるので、よろしければどうぞ!