Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
uses: actions/checkout@v4

- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_26.2.app
run: sudo xcode-select -s /Applications/Xcode_16.0.app

- name: List available devices
run: xcrun simctl list devices available
Expand All @@ -51,7 +51,7 @@ jobs:
uses: actions/checkout@v4

- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_26.2.app
run: sudo xcode-select -s /Applications/Xcode_16.0.app

- name: List available devices
run: xcrun simctl list devices available
Expand All @@ -67,13 +67,13 @@ jobs:
uses: actions/checkout@v4

- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_26.2.app
run: sudo xcode-select -s /Applications/Xcode_16.0.app

- name: List available devices
run: xcrun simctl list devices available

- name: Build and Test
run: set -o pipefail && xcodebuild -scheme FeedKit-Package -destination 'platform=iOS Simulator,name=iPhone 17' test | xcbeautify
run: set -o pipefail && xcodebuild -scheme FeedKit-Package -destination 'platform=iOS Simulator,name=iPhone 16' test | xcbeautify

macos-build-and-test-xcodebuild-tvos:
name: Test (xcodebuild tvOS)
Expand All @@ -83,7 +83,7 @@ jobs:
uses: actions/checkout@v4

- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_26.2.app
run: sudo xcode-select -s /Applications/Xcode_16.0.app

- name: List available devices
run: xcrun simctl list devices available
Expand All @@ -99,7 +99,7 @@ jobs:
uses: actions/checkout@v4

- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_26.2.app
run: sudo xcode-select -s /Applications/Xcode_16.0.app

- name: List available devices
run: xcrun simctl list devices available
Expand All @@ -115,10 +115,10 @@ jobs:
uses: actions/checkout@v4

- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_26.2.app
run: sudo xcode-select -s /Applications/Xcode_16.0.app

- name: List available devices
run: xcrun simctl list devices available

- name: Build and Test
run: set -o pipefail && xcodebuild -scheme FeedKit-Package -destination 'platform=visionOS Simulator,name=Apple Vision Pro,OS=26.2' test | xcbeautify
run: set -o pipefail && xcodebuild -scheme FeedKit-Package -destination 'platform=visionOS Simulator,name=Apple Vision Pro' test | xcbeautify
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
/Packages
/*.swiftinterface
/*.xcodeproj
xcuserdata/
xcuserdata/
.swift-format
12 changes: 0 additions & 12 deletions Assets/FeedKit-dark.svg

This file was deleted.

Binary file removed Assets/FeedKit.afdesign
Binary file not shown.
19 changes: 0 additions & 19 deletions Assets/FeedKit.icon/Assets/FeedKit.svg

This file was deleted.

37 changes: 0 additions & 37 deletions Assets/FeedKit.icon/icon.json

This file was deleted.

12 changes: 0 additions & 12 deletions Assets/FeedKit.svg

This file was deleted.

2 changes: 1 addition & 1 deletion Example/Example/ExampleApp.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// ExampleApp.swift
//
// Copyright (c) 2016 - 2026 Nuno Dias
// Copyright (c) 2016 - 2025 Nuno Dias
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion Example/Example/Models/FeedItemModel.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// FeedItemModel.swift
//
// Copyright (c) 2016 - 2026 Nuno Dias
// Copyright (c) 2016 - 2025 Nuno Dias
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion Example/Example/Models/FeedModel.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// FeedModel.swift
//
// Copyright (c) 2016 - 2026 Nuno Dias
// Copyright (c) 2016 - 2025 Nuno Dias
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion Example/Example/Views/AppleNewsView.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// AppleNewsView.swift
//
// Copyright (c) 2016 - 2026 Nuno Dias
// Copyright (c) 2016 - 2025 Nuno Dias
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion Example/Example/Views/ConcurrencyView.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// ConcurrencyView.swift
//
// Copyright (c) 2016 - 2026 Nuno Dias
// Copyright (c) 2016 - 2025 Nuno Dias
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion Example/Example/Views/FeedItemView.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// FeedItemView.swift
//
// Copyright (c) 2016 - 2026 Nuno Dias
// Copyright (c) 2016 - 2025 Nuno Dias
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion Example/Example/Views/FeedView.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// FeedView.swift
//
// Copyright (c) 2016 - 2026 Nuno Dias
// Copyright (c) 2016 - 2025 Nuno Dias
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand Down
Binary file added FeedKit.afdesign
Binary file not shown.
Binary file added FeedKit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,13 @@ let package = Package(
.process("Resources/xml/FeedNotFound.xml"),
.process("Resources/xml/RSS.xml"),
.process("Resources/xml/RSSDC.xml"),
.process("Resources/xml/AtomDC.xml"),
.process("Resources/xml/RSSAtom.xml"),
.process("Resources/xml/Media.xml"),
.process("Resources/xml/Syndication.xml"),
.process("Resources/xml/iTunes.xml"),
.process("Resources/xml/YouTube.xml")
.process("Resources/xml/YouTube.xml"),
.process("Resources/xml/GeoRSSSimple.xml"),
]
)
),
]
)
5 changes: 3 additions & 2 deletions Package@swift-5.9.swift
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,9 @@ let package = Package(
.process("Resources/xml/Media.xml"),
.process("Resources/xml/Syndication.xml"),
.process("Resources/xml/iTunes.xml"),
.process("Resources/xml/YouTube.xml")
.process("Resources/xml/YouTube.xml"),
.process("Resources/xml/GeoRSSSimple.xml"),
]
)
),
]
)
15 changes: 7 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/nmdias/FeedKit/raw/main/Assets/FeedKit-dark.svg">
<source media="(prefers-color-scheme: light)" srcset="https://github.com/nmdias/FeedKit/raw/main/Assets/FeedKit.svg">
<img width="500px" alt="FeedKit Logo" src="https://github.com/nmdias/FeedKit/raw/main/Assets/FeedKit.svg">
</picture>

<p/>
<img src="./FeedKit.png" width="500"><br>

[![CI](https://github.com/nmdias/FeedKit/actions/workflows/ci.yml/badge.svg)](https://github.com/nmdias/FeedKit/actions/workflows/ci.yml)
[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fnmdias%2FFeedKit%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/nmdias/FeedKit)
[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fnmdias%2FFeedKit%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/nmdias/FeedKit)

FeedKit is a Swift library for Reading and Generating RSS, Atom, and JSON feeds.

### FeedKit v10 (Release Candidate) :warning:

FeedKit **[`v10`](https://github.com/nmdias/FeedKit)** is now in Release Candidate (RC) and introduces a new parsing engine, features, and improvements. While this version is feature-complete and extensively tested, it may still have some minor issues to address before the final release.

It should be stable enough :eyes:, but if stable enough is not enough, consider using **[`v9`](https://github.com/nmdias/FeedKit/releases/tag/9.1.2)**.

# Features

- [x] [Atom](https://tools.ietf.org/html/rfc4287)
Expand All @@ -27,7 +27,6 @@ FeedKit is a Swift library for Reading and Generating RSS, Atom, and JSON feeds.
- [x] [GML](http://www.opengis.net/gml)
- [x] [iTunes](http://www.itunes.com/dtds/podcast-1.0.dtd)
- [x] [YouTube](http://www.youtube.com/xml/schemas/2015)
- [x] [Podcast](https://podcastindex.org/namespace/1.0)
- [x] Examples
- [x] [Documentation](https://swiftpackageindex.com/nmdias/FeedKit/main/documentation/feedkit)
- [x] Unit Tests
Expand Down
2 changes: 1 addition & 1 deletion Sources/FeedKit/Extensions/String + toBool.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// String + toBool.swift
//
// Copyright (c) 2016 - 2026 Nuno Dias
// Copyright (c) 2016 - 2025 Nuno Dias
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion Sources/FeedKit/Extensions/String + toDuration.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// String + toDuration.swift
//
// Copyright (c) 2016 - 2026 Nuno Dias
// Copyright (c) 2016 - 2025 Nuno Dias
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion Sources/FeedKit/Extensions/String + toGMLPosition.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// String + toGMLPosition.swift
//
// Copyright (c) 2016 - 2026 Nuno Dias
// Copyright (c) 2016 - 2025 Nuno Dias
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion Sources/FeedKit/Extensions/String + toKeywords.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// String + toKeywords.swift
//
// Copyright (c) 2016 - 2026 Nuno Dias
// Copyright (c) 2016 - 2025 Nuno Dias
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion Sources/FeedKit/Extensions/String + toMediaTags.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// String + toMediaTags.swift
//
// Copyright (c) 2016 - 2026 Nuno Dias
// Copyright (c) 2016 - 2025 Nuno Dias
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion Sources/FeedKit/Feed.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// Feed.swift
//
// Copyright (c) 2016 - 2026 Nuno Dias
// Copyright (c) 2016 - 2025 Nuno Dias
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading
Loading