CSFeedKit 1.0.0

CSFeedKit 1.0.0

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Jun 2021

Maintained by Cătălin Stan.



CSFeedKit 1.0.0

Version Status Platform Carthage compatible MIT License

CSFeedKit

An RSS feed generator and parser for macOS. Swift and Objective-C compatible.

Installation

Install using CocoaPods by adding this line to your Podfile:

use_frameworks!

target 'MyApp' do
  pod 'CSFeedKit'
end

Creating an RSS Feed

The example below creates an RSS feed and prints the resulting XML string.

// Create a channel
let channel = CSRSSFeedChannel.init(title: "My RSS feed", link: "http://my.rss.feed/", description: "My first CSFeedKit RSS feed")
channel.category = "Examples"

// Add two items to the channel
var items = Array<CSRSSFeedItem>()
items.append(CSRSSFeedItem(title: "Item 1" , link: "http://my.rss.feed/item1", description: "The coolest item so far."))
items.append(CSRSSFeedItem(title: "Item 2" , link: "http://my.rss.feed/item2", description: "An even cooler item."))
channel.items = items

// Create the feed
let feed = CSRSSFeed()

// Add the channel to the feed
feed.channels = [channel]

// Output the XML
print(feed.xmlElement().xmlString(options: .nodePrettyPrint))

Parsing an RSS feed

The following prints out the titles and URLs of the items in the Hacker News RSS feed.

// Get the XML string (don't do it like this in the real-world ;) )
let xmlString = try String(contentsOf: URL(string: "https://news.ycombinator.com/rss")!)

// Init the feed
let feed = try CSRSSFeed(xmlString: xmlString)

// Print channel info
let channel = feed.channels[0]
print("channel: \(channel.title) - \(channel.pubDate ?? Date.distantPast)")

// Print the items
for item in channel.items {
    print(" * \(item.pubDate ?? Date.distantPast) - \(item.title) (\(item.link))")
}

What’s Next

Run the built-in example: https://github.com/thecatalinstan/CSFeedKit/blob/master/CSFeedKitExamples/CSFeedKitExamples/main.swift

Check out the complete documentation on CocoaDocs.