Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
iOS開発で使えるオープンソースの
ライブラリやサービスの紹介
【名古屋】第31回iPhoneアプリ開発者勉強会
2015/1/17
@asakahara
自己紹介
• 京都からやってきました
• 去年は岐阜で開催されたiPhone勉強会に参加
• 昨年の2月から株式会社はてなに入社し京都に移住
• それ以前は広島のECサイト運営会社とフリーランスで
4年ほどiOSアプリ開発に従事
• 個人でもiOSアプリを6本ほどリリース
• はてなのアプリケーションエンジニア
• はてなブックマークiOS、Androidアプリ、Pressoなどを担当
• 現在はSwiftで新規アプリの開発中
• はてなブログ:http://sakahara.hatenablog.jp/
• 個人サイト:http://www.mocology.com/ja/
• Twitter:@asakahara
• qiita:http://qiita.com/asakahara
•今やってること
•ブログ、SNSなど
iOSアプリ開発をよりスマートに
行えるオープンソースの
ライブラリやサービスを紹介
今日のお題
•紹介するライブラリはSwiftでも使用可能
•定番とUI系のライブラリを主に紹介
パッケージ管理
•CocoaPods
• 定番のライブラリ管理ツール
• 全てのライブラリに適用可能
• 現状はベータ版なら Swiftにも対応
•Carthage
• Swiftに対応しているのがメリット
• 現状はdynamic frameworkのみをサポート
• そのため全てライブラリに対応するのは現状では無理
• iOS8以降で動作する
• 全てSwiftで実装されている
• こちらもHTTPネットワーク通信用ライブラリでMattt Thompsonさんが開発
• インターフェイスはAFNetworkingとは異なる
• ライブラリのソースコードはSwiftで実装する際に参考なるので読んでみるとよい
通信周りとそのサポートをするライブラリ#1
•AFNetworking
• 定番中の定番のHTTPネットワーク通信用ライブラリ
• iOS開発で著名なMattt Thompsonさんが開発
• APIサーバからJSONのレスポンスを取得してパースする処理なら数行で書ける
•Alamofire
通信周りとそのサポートをするライブラリ#2
•SDWebImage
• こちらも定番の画像を非同期でダウンロード
• デフォルトでキャッシュをうまくコントロールしてくれる
• アニメーションGIFにも対応
•Mantle
• JSONをObjective-Cのオブジェクトに変換する
• オブジェクトをJSONにして出力することもできる
• NSManagedObjectへの変換にも対応しており、Core Dataを使う際も便利
• どちらもUITableViewCellにスワイプメニューを表示する
• 意外にこの手の機能を自前で実装するのは面倒
UI系ライブラリ#1
• ローディング中のステータスを表示してくれるライブラリ
• 細かい調整をしたいならMBProgressHUD
• 単純にローディング中を表示したいだけならSVProgressHUD
•MCSwipeTableViewCell、MGSwipeTableCell
•MBProgressHUD、SVProgressHUD
• UISegmentedControlをタブボタン風にしたUIControl
• アニメーションや画像、フォントの設定、マージンの調整など
細かい部分まで対応
UI系ライブラリ#2
•AAMFeedback、CTFeedback
• ユーザーからのフィードバックをメールで送信する際にアプリ名やバージョンなど付加情報
を自動的に設定できる
• 簡易的にメールでユーザーからフィードバックを受けたい場合によい
• どちらも同じ機能を提供するが更新頻度の高いCTFeedbackがオススメ
•HMSegmentedControl
• UIBarButtonItemにバッジを表示する
• バッジのフォント、カラー、位置など細かい設定も可能
UI系ライブラリ#3
•AMScrollingNavbar
• SafariようにスクロールするとUINavigationBarを非表示する
• UITableViewやUIScrollViewに数行追加するだけ
•BBBadgeBarButtonItem
UI系ライブラリ#4
•RMUniversalAlert
• UIAlertView、UIActionSheet、UIAlertControllerをBlocksで記述
• UIAlertView、UIActionSheetとiOS8以降で使える
UIAlertControllerの切り替えは自動で実施
テスト系ライブラリ
•OHHTTPStubs
• HTTP通信を内部でフックしてスタブ用のレスポンスを返してくれる
• 通信周りのテストで使用
サービス系
•Crashlytics
• クラッシュレポートの解析サービス
• Twitterに買収された
• 自動でdSYMを送ってくれるので別途アップロードする必要がない
•TestFlight
• アプリリリース前のベータテスト用などにユーザーにアプリを配布できる
• Appleが買収したことでAppleのデベロッパーツールの一部となったが、本
家もサービスは継続中
• Apple TestFlightなら本番同様のバイナリをDLできるのでAdHocなどでは発
生しない問題もリリース前に確認できる
最後に
• ライブラリを使うことで不要な開発コストを減らす
• ライブラリは使うだけでなくそのソースコードを読むこと
で知見がたまるし、不具合対応時には必要になってくる
• クラッシュの解析などはサービスを併用しないと難しい
ので積極的に使うべき
• 読むだけでなく自分でライブラリを作って公開することで
世の中に貢献しよう
ご清聴ありがとう
ございました!

More Related Content

iOS開発で使えるオープンソースのライブラリやサービスの紹介