ことさら−古都プログラマーの更級日記

京都でお寺を回りながら御朱印集めをしていたり、LoLをしたり試合を見に行ったりしているエンジニアのブログです。技術的なはなしとか日常的なはなし、カメラやLoLや競馬の話も書きます。右メニューに検索やらカテゴリーやらがあるので、見たい記事だけ見てね!

cocoapodsを導入してRssフィードをいい感じにパースしてくれるライブラリを使ってみる

もくじ

環境

  • Swift 4
  • Mac highSierra
  • RubyとかHomebrewその辺はインストール済み

cocopodsのインストール

cocoapodsはPHPでいうComposer、JavaScriptでいうnpmみたいなライブラリ管理ソフトです。

iOSライブラリ管理ツール「CocoaPods」の使用方法 あたりを参考に入れます。

sudo gem install -n /usr/local/bin cocoapods
pod setup

結構時間がかかります。

つかう

プロジェクトルートに移動。Podfileを作成するために

pod init

を実行。Podfileができる。

pod "FeedKit", "~> 8.0.0"

対象のtargetにこれをついか。

pod install する

$ pod install
Analyzing dependencies
Downloading dependencies
Installing FeedKit (8.0.0)
...

なんちゃら.xcworkspace ってのがあるのでそれを開く。

FeedKit について

FeedKitっていうライブラリとFeedParserっていうライブラリがあったけど、FeedKitのほうが利用者がおおくて使いやすそうなのでFeedKitにしてみる。

XCodeを閉じた上で(閉じてないと怒られる)

つかってみる

NHKスペシャルRSSで試す

まずは

import FeedKit

する。補完が聞かない場合は一回ビルドしてみるといい。

let urlString = "https://www6.nhk.or.jp/special/feed/schedule.html"
let url = URL(string: urlString)!
let parser = FeedParser(URL: url)
let rssResult = parser.parse()

rssの種類によって処理を分岐させます

        switch rssResult {
        case .atom(let feed):
            print("atom")
        case .rss(let feed):
            print("rss")
            print(feed)
            print(feed.title)
            print(feed.items)
        case .json(let feed):
            print("json")
        case .failure(let error):
            print(error);
        }

詳しい使い方は https://cocoapods.org/pods/FeedKit を見れば一発でわかるので見るといいでしょう。

参考