しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

SSReadingListでリーディングリストに項目追加

SafariServicesのSSReadingListという機能を使ってiPhoneのリーディングリストに項目を追加してみました。

リーディングリストとは

Safariについている機能で、サイトを保存してあとで見る事ができます。
ブックマークと近いのですが「オフラインでも見れる」「PCでも共有できる」といった特徴があります。

Safariからの追加は下のメニューで行います。

f:id:llcc:20171005143340p:plain

同じAppleIDを使っている場合、MacとiPhoneでサイトの共有もできます。

f:id:llcc:20171005143405p:plain

リーディングリストの一覧画面からオフラインで保存する事もできます。

f:id:llcc:20171005143519p:plain

保存しておけば機内モードでもサイトを閲覧する事ができます。

f:id:llcc:20171005143800p:plain

今回はSSReadingListを使ってリーディングリストへの追加をしてみます。

SSReadingListを使った保存

セットは下のように行います。
SSReadingListのaddItemを呼ぶことで保存しています。

import UIKit
import SafariServices

class ViewController: UIViewController {
    var session: SFAuthenticationSession!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        if let url = URL(string: "http://www.cl9.info/") {
            try? SSReadingList.default()?.addItem(with: url, title: "しめ鯖日記", previewText: "技術ブログ")
        }
    }
}

保存されたリーディングリストは下のように表示されます。

f:id:llcc:20171005144300p:plain

オフライン用に保存されるかどうかは、iPhoneの設定によります。
この設定はこちらでコントロールすることはできないようです。

f:id:llcc:20171005144540p:plain

自動保存が適用されている場合、サムネイルやサイト説明はサイト上のものが利用されます。

f:id:llcc:20171005144704p:plain

リーディングリストの取得

取得についてはiOS11時点ではできません。
今後APIが開放される事を願います。