「conferenceWithDevelopers」に参加して来ました。
公式サイト
conferenceWithDevelopers
http://conference-with-developers.info/
Togetterまとめ
#confwd conferenceWithDevelopers on 2013/2/23 at GREE - Togetter
http://togetter.com/li/461461
『Dynamic Objective-C 2013』 - 木下 誠さん
執筆された本。
- 作者: 木下誠
- 出版社/メーカー: ビー・エヌ・エヌ新社
- 発売日: 2009/03/27
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 119回
- この商品を含むブログ (30件) を見る
- 作者: 木下誠
- 出版社/メーカー: ビー・エヌ・エヌ新社
- 発売日: 2011/02/09
- メディア: 単行本
- 購入: 13人 クリック: 364回
- この商品を含むブログ (18件) を見る
最近作ったアプリの中での自信作。
音楽のある情景
https://itunes.apple.com/jp/app/yin-lenoaru-qing-jing/id586157909?mt=8
- クラスのメソッド一覧を調べる:class_copyMethodList
- クラスのインスタンス変数一覧を調べる:class_copylvarList
- ランタイムにあるクラスの一覧を調べる:objc_getClassList
- クラスのメソッドを追加:class_addMethod
- クラスのメソッドを変更する:class_replaceMethod
- クラスの親クラスを変更する:class_setSuperclass
iOS 6で Remote View Controller といクラスがこっそり導入されたらしい
http://oleb.net/blog/2012/10/remote-view-controllers-in-ios-6/
http://oleb.net/blog/2012/10/more-on-remote-view-controllers/
http://oleb.net/blog/2012/10/update-on-remote-view-controllers/
iOSはRemoteViewControllerで進化を遂げるか | Cocoaの日々情報局
http://cocoadays-info.blogspot.jp/2013/02/iosremoteviewcontroller.html
zuccoi/REKit · GitHub
https://github.com/zuccoi/REKit
REKitはインスタンス毎にメソッドを追加上書きが出来るライブラリ
プロセス間通信OSXはXPC
QA
Q : 最近、GDCやARCなど新しい仕組みが導入されたが「Dynamic Objective-C」の連載が再開される予定は無い?
A : 新しい仕組みの解説などはHMDT BOOKSという電子書籍アプリを作りそちらで連載している。最近は更新されていないがユーザが増えてくると更新頻度も上がると思うので購入をお願いします。
HMDT BOOKS
https://itunes.apple.com/jp/app/hmdt-books/id500860946?mt=8
『iPadで立体映像を表示する【ハコあに】 』 - 小田 恭央さん
「ハコあに」は iPad を使って立体映像を可能にする装置。
ハコあに - 動くフィギュア -ハコあに-
http://www.hakoani.jp/
「ハコあに」の活用事例
Unity製の「ハコあに」作品
Amazonで購入可能。
- 出版社/メーカー: 株式会社ALBEDO
- メディア: エレクトロニクス
- この商品を含むブログ (1件) を見る
『けっこーすごいよ、Audio Unit』 - 永野 哲久さん
セッション用作成されたデモプロジェクト。
7gano/augraph_demo · GitHub
https://github.com/7gano/augraph_demo
執筆された本。残念ながら絶版との事。
- 作者: 永野哲久
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2009/11/12
- メディア: 大型本
- 購入: 6人 クリック: 114回
- この商品を含むブログ (25件) を見る
Audio Unitプログラムをする時に使うと便利なアプリ「AU Lab」。
Xcodeのメニューのここから表示されるページからダウンロード可能。表示されたページで「AU Lab」で検索。
パラメータ設定を .aupreset ファイルで書き出し、iOSプログラムで読み込んでAudio Unitにセットするだけで利用可能。
- iOS 5から超本格サンプラーがiOSに内蔵
- AU Labでプリセットが作成可能
- AU LabでPresetを作る
- ゼロから作るのはしんどいので今回は SoundFont を利用
- EXS24のフォーマットにも対応
- 適当なサイトから .sf2 ファイルをダウンロードしてきて読み込むだけでOK
今回の話を倍の時間で詳しく説明したセミナービデオがMOSAで販売されるらしい
『mixiにおけるiPhoneアプリ開発』 - 武田 祐一さん
mixi iPhoneアプリ
- アップデート回数 : 23回(2012年)
- スマートフォンからのアクセス : 月間約800万ユーザ
- 巨大なコードベース : .m ファイルは574個
開発はスクラムを導入
- 開発チーム 計11人
- ディレクター1人
- デザイナー1人
- エンジニア7人
- QAエンジニア2人
モデル層の単体テスト
- GHUnitを利用
- 他のクラスの挙動に左右される部分はモックを準備
- 通信するメソッドなど
- モックには method_exchangeImplementations を
- OCMockも使ったら便利でした
ユーザ操作のテスト
- KIF
- テストの記述:Objective-c
- 内部の状態と合わせたテストが可能(例:意図的にKeyChainのデータを破棄した状態でのテストなど)
- UIAutomation
- テストの記述:JavaScript/ユーザの操作を記録して利用
- テストはユーザの出来る操作に限定される
- Xcode 4.2からコマンドラインからの実行が可能に
コードレビュー:Gerrit(Google製)を利用
App Storeのレビューを確認出来るツール
punchdrunker/AppReviewViewer · GitHub
https://github.com/punchdrunker/AppReviewViewer
『リアルタイムチャットSDKのできるまで 〜ダンゴルのチャットを支える技術〜』 - 小野 将司さん
スライド資料。
http://www.slideshare.net/masashiono1/sdk-16733662
ユーザ登録方法
- 電話番号を登録させてSMS
- メール&パスワード
- 空メール
- ゲスト
SMSはどうする→サービスを利用
Clickatell(海外)
- https://www.clickatell.com/
- 安いが到達率がイマイチ
FullCourt(日本)
- https://www.fullcourt.co/
- 高いがより到達率が良い
(筆者注:後で「FullCourtが到達率が高いという表現だったけど到達率は100%では無い?」と質問をした所、回答は「100%じゃない」との事でした)
外部に提供するSDKについて
ダメな例
- バイナリ汚染をしている
具体例
- 一般的なライブラリがSDKに含まれている為、ユーザのプログラム内でそのライブラリを利用した場合、同一のシグネチャが2つ有る為エラーになる
- ユーザが別途オープンソースのライブラリを導入する必要が有る。しかも、そのライブラリがサポートを既に停止したもので有ったりする
- 自分はこの時無理矢理対応した。詳しくはブログを…
(筆者注:この記事かな? http://akisute.com/2011/11/blog-post.html )
- 画像ファイルをプロジェクトに追加する必要が有るがそのファイル名が普通に使いそうなファイル名で有った為、同じファイルが2つの状態になりエラーが発生
良い実装
- 画像は.bundleで追加
NLTHTTPStubServer
通信部をモックする際に重宝
ドキュメントはSphinxで作成
- Sphinxはテキストで記述するのでgitでバージョン管理が可能
- テキストの記述だけでシーケンス図も作成可能
『いかにしてユーザーを手玉に取るか 〜ユーザーの行動の三手先を読んで実装する〜』 - 菅宮 佑介
スライド資料。
https://speakerdeck.com/dnpp/ikanisiteyuzawoshou-yu-niqu-ruka
発表者さんが以前、ツイートされた洗練されたUIについてのコメント
現在制作中のBeatroboのiOS版を例にUIの解説。
Beatrobo
https://www.beatrobo.com/
(※ここで実際にアプリを操作しなが色々と解説が入りましたが実際に操作している動画などが無いと説明が難しいので省略)
ビルド設定を変更すると環境変数の違いにより接続先サーバを開発、本番に自動的に切り替える様に
iOS6から導入されたUIRefreshControlをiOS5でも同様の処理を行う様に実装されたライブラリ。
(筆者注:UIRefreshControlはiOS 6のメールアプリに導入されている「下に引っ張って更新をかける」というUIのコントローラ)
ishkawa/ISRefreshControl · GitHub
https://github.com/ishkawa/ISRefreshControl#readme
トランジションの処理はこちらのライブラリで作成。
dnpp73/DPPrismViewController · GitHub
https://github.com/dnpp73/DPPrismViewController
LT
Androidとの同時開発だけどモデルをC++で書けば問題ないよねっ
LTに参加された長谷川孝二(@nowsprinting)さんのスライド資料。
http://www.slideshare.net/nowsprinting/conference-withdevelopers-20130223lt
執筆に参加された「Androidアプリテスト技法」という本がそろそろ出るとの事。モバイル環境向けのテスト本って日本だと初めてじゃないですかね?
- 作者: 生路茂太,井芹洋輝,神原健一,長谷川孝二,松木晋祐,宮田友美,吉澤毅
- 出版社/メーカー: 秀和システム
- 発売日: 2013/02/27
- メディア: 単行本
- この商品を含むブログ (7件) を見る
Androidアプリ テスト技法|書籍情報|秀和システム
http://www.shuwasystem.co.jp/products/7980html/3704.html
@"UIWindow for Development"];
conferenceWithDevelopers( #confwd )のLT資料とソースコード | 松桐坊主
http://blog.mazgi.com/2013/02/uiwindow-for-development/
1行で導入するBack Gesture
1行で導入するback gestureの話とUINavigationBarを拡張した話 - blog.ishkawa.org
http://blog.ishkawa.org/blog/2013/02/24/backgesture-in-confwd/