iOS

iOSに関するプログラミングTip などをまとめます.
記事の中には英語になっているものもあります(Several posts are English)
Swift Memo is here
Other Objective-C mac development is here

UIに関するもの

Objective-Cに関するもの

Objective-Cに関する話題は, Mac Devel(英語)でも紹介しています。

Graphics

iOSに関するもの

Advanced

Core Audio

Core Data

ネットワーク•Web

メディア

Game

デザインパターン, アルゴリズム

Test

その他の話題

ライブラリ

Webで見つけた, すばらしいライブラリを紹介

  • ネットワークライブラリ(ASIHTTPRequest)
  • ネットワークに関するライブラリ, 使い方も簡単 でも, Non-ARC。直そうと試みたけど複雑すぎて途中でGive up。

  • ViewDeck
  • Facebookメニューのようなスライディングメニューを実装している

  • zipzap
  • Zipを扱うライブラリ, 圧縮解凍をサポート。Mac用,iOS用どちらもある(両方試してみましたが問題なし)。Entryベースで操作ができるところがいい。

  • SVProgressHUD
  • 処理のプログレス状態を表示するUIのライブラリ, 導入が簡単なのがいい。処理の時間が不定な場合のloading iconとかの代わりにつかえばよいのでは。

  • InAppSettingKit
  • アプリの設定などを自動的に作ってくれる。ライブラリ設定の項目はすべてplistでタイトルは, stringsに書く。UITableViewControllerに紐づいているので, 自前のUITableViewを使うとなると, かなりコードを書きなおす必要がある(やってみたけど結構面倒だった, カスタムの設定とかもつくってみたりもした)。
    設定項目を書き込むところは, NSUserDefaultもしくは, ファイル。CoreDataを使うにはやっぱり自分で書くしかない。

  • OpenEars
  • iOS用の音声認識,ディクテーションのライブラリ。
    元ネタは, CMU Sphinxというカーネギーメロン大学で開発されたオープンソースですOpenEarsはそれをラップしています。
    パフォーマンス的にはいまいちなのできちんと使おうと思うと, 改造が必要です(結構改造しました), もしくは有料ライブラリを購入したりします

  • DSP
  • iOSではないのですが, 音声のPitchコントローラがC++で実装されています。Macや, iOSに簡単に組み込めます。
    パラメータを調整したりして遊んでみました

  • MKNetworkKit
  • ネットワークキット, かなりの機能を実装している, ASIHTTPRequestやAFNetworkingの影響を受けているらしい
    ARC対応, ライトウェイトが売り インストラクションが制作者のブログ(English)にあります.

  • Custom iOS7 AlertView
  • UIAlertViewを擬似的に実装したもの, UIViewを使って, それらしいUIに仕上げている.
    UIAlertViewよりも柔軟なカスタムUIがつくれるはずだ. そのまま使うには難しいが実装コードはかなり参考になる
    コードを読むだけでも価値あり

  • DateKit
    すばらしくはないのですが, 私が作ったライブラリです. 時間操作に関するものをいくつかまとめてみました
    参考くらいにはなるかと思います
  • MagicalRecord
  • CoreDataを扱うためのライブラリ, contextとか接続部分, DAOなどを簡単にかける. RubyのActive Recordの設計を踏襲しているみたい

  • TextDatePicker
    UIDatePickerが大きくて邪魔なので, テキストフィールドをたたいたときにだけ表示させるUIをつくってみました
  • NJKWebViewProgress
  • UIWebViewには,プログレスの表示などがありません. それを実現するために作られたライブラリ

  • PhysicsDebugger
  • PhysicsDebuggerは, SPrite Kitで, 物理演算を適用しているノードに印をつけるデバッグ用のライブラリです

  • Touchpose
  • Touchpose は,アプリのタッチ位置に色(波紋)を付けてくれます。組み込みは簡単です。製品ではなくデモ用っぽいです。

  • Punycode-Cocoa
  • 日本語ドメインを NSURLにするために利用させて頂きました。NSStringのカテゴリとして実装してあります

Xcode

Xcodeに関する話題は, Mac Devel(英語)でも紹介しています。

開発について気づいたことTips

Sample(サンプル)

3rd Party SDK

  • Apptimize
  • ABテストを実施できるSDK. コードレスで,(Web上で) UIの色や画像の変更, およびターゲットを指定できる.
    実装側は, Frameworkを入れて, info-plistにキーを入れるだけでO.K.
    コードのABテストも実装できるWeb上でコードを書いてタグをつける, タグコードをアプリにも入れる

ツールなど

  • PaintCode
  • PaintCodeは, 画像をCoreGraphicsのコードにかえてくれるらしい。その逆も可能?

  • appledoc
  • AppleDocは, Appleの開発者ドキュメントのようなスタイルのドキュメントをXCodeのプロジェクトを指定して
    まるごとドキュメントをつくってくれるツール, githubなので元ソースもあります。

  • Average App Store Review Times
  • Average App Store Review Timesは, Apple Reviewにかかった時間をユーザーから投稿してもらうことで平均時間を割り出して提示してくれます。アプリの審査にかかる時間の目安になります。