SlideShare a Scribd company logo
1 of 15
Download to read offline
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

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

WantedlyではどうやってiOSアプリ開発しているのか
WantedlyではどうやってiOSアプリ開発しているのかWantedlyではどうやってiOSアプリ開発しているのか
WantedlyではどうやってiOSアプリ開発しているのかYoshinori Kawasaki
 
地域情報アプリ
地域情報アプリ地域情報アプリ
地域情報アプリyohei iwakura
 
Swiftで初アプリリリースしてみて振り返り
Swiftで初アプリリリースしてみて振り返りSwiftで初アプリリリースしてみて振り返り
Swiftで初アプリリリースしてみて振り返りHikari Yanagihara
 
Techwave cafeセミナー資料111206
Techwave cafeセミナー資料111206Techwave cafeセミナー資料111206
Techwave cafeセミナー資料111206Ryosuke Matsumoto
 
Chainerのcommunity活動の 今までとこれから
Chainerのcommunity活動の今までとこれからChainerのcommunity活動の今までとこれから
Chainerのcommunity活動の 今までとこれからHideto Masuoka
 
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことiOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことasakahara
 
すぱこーに学ぶアプリ開発の第一歩
すぱこーに学ぶアプリ開発の第一歩すぱこーに学ぶアプリ開発の第一歩
すぱこーに学ぶアプリ開発の第一歩You&I
 
香川支部キックオフ 香川支部について
香川支部キックオフ 香川支部について香川支部キックオフ 香川支部について
香川支部キックオフ 香川支部についてyohei iwakura
 
オールアバウトのアプリ開発
オールアバウトのアプリ開発オールアバウトのアプリ開発
オールアバウトのアプリ開発Kazuki Tsurugai
 
20171210 岡山クリエイターmtg(倉敷)
20171210 岡山クリエイターmtg(倉敷)20171210 岡山クリエイターmtg(倉敷)
20171210 岡山クリエイターmtg(倉敷)K onishi
 
kintone café 大阪 Vol.3
kintone café 大阪 Vol.3 kintone café 大阪 Vol.3
kintone café 大阪 Vol.3 Koji Asaga
 
ウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライド
ウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライドウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライド
ウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライドjunnamacom
 
スマートフォンアプリ開発におけるディレクション
スマートフォンアプリ開発におけるディレクションスマートフォンアプリ開発におけるディレクション
スマートフォンアプリ開発におけるディレクションGIG inc.
 
iOSアプリを審査に提出してみた話
iOSアプリを審査に提出してみた話iOSアプリを審査に提出してみた話
iOSアプリを審査に提出してみた話Hideki Abe
 
Skype for Businessの現状と今後のビジネスチャンス(SharePointとの比較)
Skype for Businessの現状と今後のビジネスチャンス(SharePointとの比較)Skype for Businessの現状と今後のビジネスチャンス(SharePointとの比較)
Skype for Businessの現状と今後のビジネスチャンス(SharePointとの比較)adachiyosuke
 
チャット文化と相性の良いアプリ配布方法
チャット文化と相性の良いアプリ配布方法チャット文化と相性の良いアプリ配布方法
チャット文化と相性の良いアプリ配布方法Tsuyoshi Yonemoto
 
2012 mar event-design-workshop-instructors
2012 mar event-design-workshop-instructors2012 mar event-design-workshop-instructors
2012 mar event-design-workshop-instructorsOrinoco K.K.
 
App Inventor 2でかんたんロボカー操縦!
App Inventor 2でかんたんロボカー操縦!App Inventor 2でかんたんロボカー操縦!
App Inventor 2でかんたんロボカー操縦!Kenichi Yoshida
 

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

WantedlyではどうやってiOSアプリ開発しているのか
WantedlyではどうやってiOSアプリ開発しているのかWantedlyではどうやってiOSアプリ開発しているのか
WantedlyではどうやってiOSアプリ開発しているのか
 
地域情報アプリ
地域情報アプリ地域情報アプリ
地域情報アプリ
 
Swiftで初アプリリリースしてみて振り返り
Swiftで初アプリリリースしてみて振り返りSwiftで初アプリリリースしてみて振り返り
Swiftで初アプリリリースしてみて振り返り
 
SwiftでSNS投稿を行う
SwiftでSNS投稿を行うSwiftでSNS投稿を行う
SwiftでSNS投稿を行う
 
Techwave cafeセミナー資料111206
Techwave cafeセミナー資料111206Techwave cafeセミナー資料111206
Techwave cafeセミナー資料111206
 
Chainerのcommunity活動の 今までとこれから
Chainerのcommunity活動の今までとこれからChainerのcommunity活動の今までとこれから
Chainerのcommunity活動の 今までとこれから
 
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことiOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいこと
 
すぱこーに学ぶアプリ開発の第一歩
すぱこーに学ぶアプリ開発の第一歩すぱこーに学ぶアプリ開発の第一歩
すぱこーに学ぶアプリ開発の第一歩
 
香川支部キックオフ 香川支部について
香川支部キックオフ 香川支部について香川支部キックオフ 香川支部について
香川支部キックオフ 香川支部について
 
オールアバウトのアプリ開発
オールアバウトのアプリ開発オールアバウトのアプリ開発
オールアバウトのアプリ開発
 
20171210 岡山クリエイターmtg(倉敷)
20171210 岡山クリエイターmtg(倉敷)20171210 岡山クリエイターmtg(倉敷)
20171210 岡山クリエイターmtg(倉敷)
 
kintone café 大阪 Vol.3
kintone café 大阪 Vol.3 kintone café 大阪 Vol.3
kintone café 大阪 Vol.3
 
ウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライド
ウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライドウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライド
ウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライド
 
スマートフォンアプリ開発におけるディレクション
スマートフォンアプリ開発におけるディレクションスマートフォンアプリ開発におけるディレクション
スマートフォンアプリ開発におけるディレクション
 
iOSアプリを審査に提出してみた話
iOSアプリを審査に提出してみた話iOSアプリを審査に提出してみた話
iOSアプリを審査に提出してみた話
 
Skype for Businessの現状と今後のビジネスチャンス(SharePointとの比較)
Skype for Businessの現状と今後のビジネスチャンス(SharePointとの比較)Skype for Businessの現状と今後のビジネスチャンス(SharePointとの比較)
Skype for Businessの現状と今後のビジネスチャンス(SharePointとの比較)
 
チャット文化と相性の良いアプリ配布方法
チャット文化と相性の良いアプリ配布方法チャット文化と相性の良いアプリ配布方法
チャット文化と相性の良いアプリ配布方法
 
2012 mar event-design-workshop-instructors
2012 mar event-design-workshop-instructors2012 mar event-design-workshop-instructors
2012 mar event-design-workshop-instructors
 
Swift勉強会2
Swift勉強会2Swift勉強会2
Swift勉強会2
 
App Inventor 2でかんたんロボカー操縦!
App Inventor 2でかんたんロボカー操縦!App Inventor 2でかんたんロボカー操縦!
App Inventor 2でかんたんロボカー操縦!
 

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