WebエンジニアのLoL日記

LoLをプレイしたりLJLの試合を見たりするのが好きなエンジニア。LoLのイベントやパッチノートなど気になった点を記事にしたり、LJLについの記事をかいたりしています。某社でWeb系のエンジニアとして働いているので、技術系の記事もたまに書きます。コンタクトを取りたい場合はtwitterまで。

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 を見れば一発でわかるので見るといいでしょう。

参考