iOS/SwiftUI app collects blog postings by SwiftLee on Swift and related topics
About The Project
This app aggregates blog posting by SwiftLee (Antoine van der Lee), who has a blog on iOS software development.
Note that this app is only a SwiftLee aggregator and not an app developed by SwiftLee. Like any RSS aggregator, the author of the aggregator has no influence on SwiftLee’s blog posts. And SwiftLee has no responsibility for the aggregator. In case you are wondering, both parties did align ?
The aggregator asynchronously fetches data from an existing SwiftLee RSS feed. The RSS data is converted to JSON on the fly via an online RSS-to-JSON convertor. And the JSON is then decoded and rendered within the app. Clicking on a item in the aggregator opens the associated SwiftLee post in a browser tab.
Built With
Distribution
The app will only be available via GitHub. It isn’t and won’t be distributed via the Apple App Store to prevent confusion. And, frankly, the app doesn’t provide add enough functionality anyway to the existing SwiftLee website: the app is partly intended to try out some techniques (like async/await and decoding a complete JSON feed).
Getting Started
To get a local copy up and running follow these example steps. The installation procedure uses GitHub’s Open with Xcode
feature. Those who prefer a command line route typically manage perfectly fine on their own.
Installation
- Get a free API key at rss2json.com). This involves signing up for a free account with rss2json. Their free plan should be enough to view a single feed as often as you like. Save the API key code. It allows you to generate a fair amount of traffic to rss2json.com without worrying about the traffic of others.
- Clone the repository to your development environment:
Code
,Code
,Open with Xcode
,Allow
GitHub to launch Xcode, select a suitable directory location, and pressClone
. - Enter your personal API key in the file
Utilities
/ApiKey.swift
Don’t forget to uncomment the line. By default it reads:
// insert your rss2json.com API key and uncomment
// let apiKey = "thisisthespotwhereyouinsertyourownapikey"
The line is commented out because I have a second file containing my own key. That second file doesn’t get mirrored on GitHub. 4. You can now compile to install it on a real device (it should work for half a year) or run the code on one of XCode’s simulators in the usual way.
Usage
There is little to say about usage. Just launch the app. If you click on an post in the scrollable List, it will launch the associated post in a browser tab. The current app does not store any data on your device, so you will need to be online (else you currently see an empty List).
Roadmap
- Complete the readme
- Automatically fetch older posts via extra fetch requests (at 10 posts per request)
- Add a search bar to filter the list (needed if there are hundreds of posts)
See the open issues for a full list of proposed features (and known issues).
Contributing
Any contributions you make are greatly appreciated. If you have a suggestion that would make this better, please fork the repo and create a pull request. The command line version (but the Xcode IDE has equivalent commands under Source Control
):
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
You can alternatively submit a new issue with a tag like ”enhancement” or “bug” without having to provide a solution yourself. Don’t forget to give the project a star in GitHub!
License
Distributed under the MIT License. See LICENSE.txt
for more information.
Contact
Peter van den Hamer – github@vdhamer.com
Project Link: https://github.com/vdhamer/SwiftLeeAggregator
Acknowledgments
- A weekly Swift Blog on Xcode and iOS Development – SwiftLee
- “JSON Parsing in Swift explained with code examples” – SwiftLee
- RSS to JSON Converter online – rss2json.com