Your SlideShare is downloading. ×
iOS開発で使えるオープンソースのライブラリやサービスの紹介
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

288
views

Published on

【名古屋】第31回iPhoneアプリ開発者勉強会でLTした時の資料です。

【名古屋】第31回iPhoneアプリ開発者勉強会でLTした時の資料です。

Published in: Internet

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
288
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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