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

23
Movable Type Data API for Swift をををを をををををををMT をを -31 をををををををを をををををををを SwiftxMT Data API

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

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

MT 東京 -31 バレンタインデー1ヶ月前から始める SwiftxMT Data API

発 表 内 容• 自己紹介• 勉強会の紹介• 書籍紹介• イベント紹介• デモ• ライブラリー導入• DataAPI の紹介• iOS アプリのソース実装ポイント紹介

自己紹介出身は、さいたま市です。オリンパスソフトウェアテクノロジー㈱デジタルカメラの FW 開発 (PEN/OM-D)

藤 治仁(ふじ はるひと)

勉強会を運営していますDoorKeeper で「 Swift ビギナーズ倶楽部」「 Ruby / Rails ビギナーズ倶楽部」「 WordPress もくもくクラブ」検索

Swift ビギナーズ倶楽部 Ruby on Railsビギナーズ倶楽部 WordPress もくもく倶楽部

勉強会を運営しています

Swift ビギナーズ倶楽部 WordPress もくもく倶楽部

勉強会の目的• 未経験者が開発を行えるようになること• セッションがうまくなること• 交流して仲間を増やすこと

Ruby on Railsビギナーズ倶楽部

Swift3 &Xcode8 対応10 ( 火 )25

全国書店で販売中/

~Swift ではじめるプログラミングの第一歩 ~

これからつくる iPhone アプリ開発入門

Amazon

Swift ビギナーズ倶楽部から生まれた!Click!

ハンズオンセミナー開催2016 年 3 月・ 5 月 2回開催

初めてのアプリ開発に最適

・各章を一コマとして授業形式で開催。・各章ごとに参加者の方々にヒアリングを実施。・参加者の方々が最初につまずいた声を 徹底的に収集して分析。▼

これからつくる iPhone アプリ開発入門

出版イベント開催2016 年 3 月・ 5 月 2回開催

サイン会も実施✍️

・各章を一コマとして授業形式で開催。・各章ごとに参加者の方々にヒアリングを実施。・参加者の方々が最初につまずいた声を 徹底的に収集して分析。▼

これからつくる iPhone アプリ開発入門

本書の 2 日目 Lessson 4

D E M O• 検索窓にキーワードを入力すると該当する投稿リスト表示• リストから投稿を選択するとアプリ内ブラウザ起動し記事を表示

キーワードを入力Data API から取得

タップすると記事が表示される

ライブラリー導入 (1)Movable Type Data API には Swift 向けライブリーがあり

ライブラリー管理するツールCocoapods を使って導入する

ラリブラリー導入 (2)1. Xcode でプロジェクトを作成2. ターミナルから「 pod init 」で Podfile を新規作成3. Podfile を編集

• 対象 iOS バージョン• 導入したいライブラリーを明記

4. テーミナルから「 pod install 」でライブラリーをインストール

対象 iOS バージョン

導入したいライブラリー

ライブラリー導入 (3)

haruhitoMacBook:MovableTypeSwiftDemo haruhito$ pod installAnalyzing 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 」することで解決

ライブラリーが導入できない

導入ライブラリー構成

ユーザー 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 で管理

Movable Type Data API について• Movable Type で蓄積されたデータを外部から取り出すことができる• Data API を使うと他のアプリケーションとのデータの受渡しが可能• MovableType からのレスポンスは JSON 形式• Swift3.0 対応ライブラリーあり

主な API カテゴリ、様々な API が用意されている

Movable Type Data API についてCommon API バージョンに関わらず利用できる API

Authentication 認証に関連する API群。トークン、セッション ID 取得などAssets 画像データ格納などCategories カテゴリの管理Comments コメントの管理Entries 記事の一覧取得Search 記事検索

パラメータsearch は必須パラメータ※必須パラメータはメソッドの引数になっている

optional→省略可

• Movable Data API 開発者向けサイトにて URI パラメータの確認する• 必要なパラメータはメモする

Data API リクエストData API の URI指定

リクエスト実行

リクエスト実行箇所

optional のURI パラメータ

JSON データパースJSON パース箇所

“categories>label” を取り出す

Movable Data API SDK for Swift はSwiftyJSON を使っているので記述がわかりやすい

画像の遅延表示• SDWebImage を利用することによって簡単に遅延表示できるようになる• 遅延表示に対応するとタイトル表示のみ先に行われて後で画像が表示される• 遅延表示するためにはダミー画像を用意する必要あり• 画像キャッシュする機能もあるので再起動時は画像表示が高速

ダミー画像

処理中表示• SVProgressHUD を使うことによって簡単に処理中 UI を表現可能• 処理結果がエラーなった時のメッセージを表示するようなシーンにも使える

ま と め• CocoaPods 利用するときはデーターベースのアップデートしよう• SwiftyJSON はわかりやすい• 画像の遅延表示は SDWebImage• 処理中表示は SVProgressHUD など使うと便利

サンプルコードは GitHub で公開中https://github.com/FromF/MyMovableType

ご静聴ありがとうございましたAmazon で好評発売中