Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Movable Type Data API for Swiftを使って アプリを作ろう!

460 views

Published on

Movable Type Data API for Swiftを使ってアプリを作ろう!
はじめに

これは、MT東京-31バレンタインデー1ヶ月前から始めるSwiftxMT Data APIの登壇するために作成した資料です。

https://mt-tokyo.doorkeeper.jp/events/54596
https://github.com/FromF/MyMovableType

Published in: Software
  • Be the first to comment

  • Be the first to like this

Movable Type Data API for Swiftを使って アプリを作ろう!

  1. 1. Movable Type Data API for Swiftを使って アプリを作ろう! MT東京-31バレンタインデー1ヶ月前から始めるSwiftxMT Data API
  2. 2. 発 表 内 容 • 自己紹介 • 勉強会の紹介 • 書籍紹介 • イベント紹介 • デモ • ライブラリー導入 • DataAPIの紹介 • iOSアプリのソース実装ポイント紹介 2
  3. 3. 自己紹介 出身は、さいたま市です。 オリンパスソフトウェアテクノロジー㈱ デジタルカメラのFW開発(PEN/OM-D) 3 藤 治仁 (ふじ はるひと)
  4. 4. 勉強会を運営しています DoorKeeperで 「Swiftビギナーズ倶楽部」 「Ruby / Railsビギナーズ倶楽部」 「WordPress もくもくクラブ」 検索 Swiftビギナーズ倶楽部 Ruby on Rails ビギナーズ倶楽部 WordPressもくもく倶楽部
  5. 5. 勉強会を運営しています Swiftビギナーズ倶楽部 WordPressもくもく倶楽部 勉強会の目的 • 未経験者が開発を行えるようになること • セッションがうまくなること • 交流して仲間を増やすこと Ruby on Rails ビギナーズ倶楽部
  6. 6. Swift3 & Xcode8対応 10 (火)25 全国書店で販売中 / ~Swiftではじめるプログラミングの第一歩~ これからつくるiPhoneアプリ開発入門 Amazon Swiftビギナーズ倶楽部から生まれた! Click!
  7. 7. ハンズオンセミナー開催 2016年3月・5月 2回開催 初めてのアプリ開発に最適 ・各章を一コマとして授業形式で開催。 ・各章ごとに参加者の方々にヒアリングを実施。 ・参加者の方々が最初につまずいた声を 徹底的に収集して分析。 ▼ これからつくるiPhoneアプリ開発入門
  8. 8. 出版イベント開催 2016年3月・5月 2回開催 サイン会も実施✍️ ・各章を一コマとして授業形式で開催。 ・各章ごとに参加者の方々にヒアリングを実施。 ・参加者の方々が最初につまずいた声を 徹底的に収集して分析。 ▼ これからつくるiPhoneアプリ開発入門
  9. 9. 本書の2日目 Lessson 4
  10. 10. D E M O • 検索窓にキーワードを入力すると該当する投稿リスト表示 • リストから投稿を選択するとアプリ内ブラウザ起動し記事を表示 10 キーワードを入力 Data APIから取得 タップすると記事が 表示される
  11. 11. ライブラリー導入(1) Movable Type Data APIにはSwift向けライブリーがあり ライブラリー管理するツール Cocoapodsを使って導入する
  12. 12. ラリブラリー導入(2) 1. Xcodeでプロジェクトを作成 2. ターミナルから「pod init」でPodfileを新規作成 3. Podfileを編集 • 対象iOSバージョン • 導入したいライブラリーを明記 4. テーミナルから「pod install」でライブラリーをインストール 対象iOSバージョン 導入したいライブラリー
  13. 13. ライブラリー導入(3) haruhitoMacBook:MovableTypeSwiftDemo haruhito$ pod install Analyzing dependencies [!] Unable to satisfy the following requirements: - `MTDataAPI-SDK (~> 1.0.10)` required by `Podfile` None of your spec sources contain a spec satisfying the dependency: `MTDataAPI-SDK (~> 1.0.10)`. You have either: * out-of-date source repos which you can update with `pod repo update`. * mistyped the name or version. * not added the source repo that hosts the Podspec to your Podfile. Note: as of CocoaPods 1.0, `pod repo update` does not happen on `pod install` by default. • CocoaPodsは、ライブラリー管理するデータベースがローカル • ターミナルで「pod repo update」することで解決 ライブラリーが導入できない
  14. 14. 導入ライブラリー構成 ユーザーSwiftプログラム Movable Type Data API for Swift Alamofire Swift JSON SDWebImage SVProgressHUD • Movable Type Data API for SwiftをインストールするとAlamofireと SwiftyJSONが合わせてインストールされる • 合わせて導入したライブラリーは、ユーザープログラムから利用可能 【各ライブラリーの概要】 • Alamofire:http通信 • SwiftyJSON:JSONパース(解析) • SDWebImage:インターネット上の画像を取得及びキャッシングする • SVProgressHUD:処理中UI表示する CocoaPodsで管理
  15. 15. Movable Type Data APIについて • Movable Typeで蓄積されたデータを外部から取り出すことができる • Data APIを使うと他のアプリケーションとのデータの受渡しが可能 • MovableTypeからのレスポンスはJSON形式 • Swift3.0対応ライブラリーあり 15
  16. 16. 主なAPIカテゴリ、様々なAPIが用意されている 16 Movable Type Data APIについて Common API バージョンに関わらず利用できるAPI Authentication 認証に関連するAPI群。トークン、セッションID取得など Assets 画像データ格納など Categories カテゴリの管理 Comments コメントの管理 Entries 記事の一覧取得 Search 記事検索
  17. 17. パラメータ searchは必須パラメータ ※必須パラメータはメソッド の引数になっている optional →省略可 • Movable Data API開発者向けサイトにてURIパラメータの確認する • 必要なパラメータはメモする
  18. 18. Data APIリクエスト Data APIのURI指定 リクエスト実行 リクエスト実行箇所 optionalの URIパラメータ
  19. 19. JSONデータパース JSONパース箇所 “categories>label”を取り出す Movable Data API SDK for Swiftは SwiftyJSONを使っているので記述がわかりやすい
  20. 20. 画像の遅延表示 • SDWebImageを利用することによって簡単に遅延表示できるようになる • 遅延表示に対応するとタイトル表示のみ先に行われて後で画像が表示される • 遅延表示するためにはダミー画像を用意する必要あり • 画像キャッシュする機能もあるので再起動時は画像表示が高速 ダミー画像
  21. 21. 処理中表示 • SVProgressHUDを使うことによって簡単に処理中UIを表現可能 • 処理結果がエラーなった時のメッセージを表示するようなシーンにも使える
  22. 22. ま と め • CocoaPods利用するときはデーターベースのアップデートしよう • SwiftyJSONはわかりやすい • 画像の遅延表示はSDWebImage • 処理中表示はSVProgressHUDなど使うと便利 サンプルコードはGitHubで公開中 https://github.com/FromF/MyMovableType
  23. 23. 23 ご静聴ありがとうございました Amazonで好評発売中

×