A Hacker News reader in Swift

Related tags

Content App SwiftHN
Overview

SwiftHN

A Hacker News reader in Swift using the best features of both the language and iOS 8 latest API (well, that's the end goal)

screen-1

SwiftHN is now available on the App Store! I've renamed it to HN Reader for obvious reason.

ETA

=======

Installation

Clone this repository.

$ git clone --recursive https://github.com/Dimillian/SwiftHN

Incase you cloned the repository without the recursive option, you will have to manually install the HackerSwifter submodule.

$ cd SwiftHN
$ git submodule init
$ git submodule update

Open using Xcode.

$ open SwiftHN.xcodeproj

Features

  • Now link with its own Hacker News Swift scrapping library, HackerSwifter. This is still a work in progress but it support the most basic features. This is linked as a submodule, so be sure to clone it too (I'm looking at you Github for Mac)
  • The podfile is now useless, you may still run pod install to setup the project.
  • A basic UI which respect latest Apple guidelines
  • Use Swift features such as extension, framework, etc...
  • Display HN home categories (Top, Ask, Jobs..)
  • Load and display comments per posts.
  • Load and display posts per user
  • Share, Add to reading list, read in webview
  • Live view rendering in Interface Builder
  • Class Extensions
  • Today and share extensions
  • Clean design pattern
  • More...

The app is in progress, but already functional, you can read the newsfeed, send article to the Safari Reading List, view the article in a webview, and load comments.

You can contribute to the app, just do a pull request. You can even contribute to the design in Sketch if you want!

Planned features

  • Login
  • Settings
  • Upvote post & comments
  • Post comments
  • Today extension which show 3 latest posts in notification center
  • Safari/Share extension to post a page to Hacker News
Comments
  • Feature/load more

    Feature/load more

    Dependent upon pull request for HackerSwifter: https://github.com/Dimillian/HackerSwifter/pull/6

    This adds 'Load More' to the bottom of the table for Posts and User Posts when appropriate.

    opened by finder39 14
  • Have cache only load when offline

    Have cache only load when offline

    I feel like that system creates the same frustration that a lot of people have with the facebook app. Where you'll start to read something and then it's gone and you can't find it. I'll create a branch for a proposed change and we can talk more about it there.

    This will also prevent double call of closure.

    opened by finder39 5
  • Cache system sees Top and User as same

    Cache system sees Top and User as same

    The cache sees the Top and User (and my guess would be others as well) as the same. So if you are loading page 1 of a user, it loads the page 1 from Top cache and then loads page 1 from user internet. I hope I said that in an understandable way.

    I will reproduce this in a test soon

    EDIT:

    • [x] Fix subclassing issue (this issue is not related to cache)
    opened by finder39 3
  • Error building the project

    Error building the project

    I have Xcode 6 beta 6 installed. I'm trying to build the project but I keep getting this error.

    'sharedApplication()' is unavailable: Use view controller based solutions where appropriate instead. /SwiftHN/libs/submodules/Hacker Swifter/Hacker Swifter/HTTP/Fetcher.swift:98:44

    Any ideas why?

    opened by hiroshido 2
  • Prevent redundant ViewController stack

    Prevent redundant ViewController stack

    I'm not sure if this is the best way to do this per say, but I think it's a good concept at least to prevent the user from going to the same view time and time again, at least from the same exact view.

    I hope to help work on this some to learn swift :] I am open to any and all comments and criticisms

    opened by finder39 2
  • Comments broken..

    Comments broken..

    Also number of votes, author.. I guess the issue is in HackerSwifter

    Fixed?

    • https://github.com/Dimillian/SwiftHN/commit/f33b23ff154ff04400bb3bfcde6ecde27ec1013f
    • https://github.com/Dimillian/HackerSwifter/commit/fc96db19386522b0a4086578033c319bda3163b4

    image

    opened by dkhamsing 1
  • Implemented infinite scrolling

    Implemented infinite scrolling

    This adds infinite scrolling to the bottom of the table for Posts and User Posts when appropriate.

    This is an alternative to https://github.com/Dimillian/SwiftHN/pull/12

    opened by finder39 1
  • Missing files

    Missing files

    Hi, I just pulled the project (cloned) to my Mac and when I open it in xcode I get an error that quite a few files are missing. For example: SwiftHN/Products/SwiftHN.app, SwiftHN/Pods.xcconfig, SwiftHN/SwiftHNLiveViews/SwiftHNLiveViews.h, etc... Where can I get the files so that I may compile this project on my computer?

    opened by lteran9 1
  • Unable to build from clean repo

    Unable to build from clean repo

    When I download the repo fresh, I'm unable to build because of the following error:

    When I run pod install I get the following message (and no Pods.xcconfig file is generated):

    screen shot 2014-07-19 at 12 37 20 pm

    $ seansu4you87:~/Development/github.com/seansu4you87/SwiftHN (master) pod install
    Setting up CocoaPods master repo
    /Users/seansu4you87/.rvm/gems/ruby-2.1.1/gems/cocoapods-0.33.1/lib/cocoapods/executable.rb:55: warning: Insecure world writable dir /Users/seansu4you87/Dropbox/Developer/go/bin in PATH, mode 040777
    Setup completed (read-only access)
    Analyzing dependencies
    Downloading dependencies
    Generating Pods project
    Unable to open stream!
    Integrating client project
    
    [!] [!] The Podfile does not contain any dependencies.
    

    I was eventually able to get everything building by dropping Cocoapod stuff

    opened by seansu4you87 1
  • “Use Legacy Swift Language Version”

    “Use Legacy Swift Language Version”

    I have this bug

    “Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the build setting directly. warning: no umbrella header found for target 'HackerSwifter', module map will not be generated

    How can I solve it? xcode 8.1

    opened by ilyarmnzhdn 1
Owner
Thomas Ricouard
[Entrepreneur, iOS/Mac & Web dev] Work @Medium / @Glose Past: @google, Co-Founded @MySeeen (Share movies !) @RobinBrowser (The smart Browser).
Thomas Ricouard
Firefox for iOS, branch works with Xcode 12.5.1, Swift 5.4.2 and supports iOS 11.4 and above.

Firefox for iOS Download on the App Store. This branch (main) This branch works with Xcode 12.5.1, Swift 5.4.2 and supports iOS 11.4 and above. Please

Mozilla Mobile 11.2k Jan 7, 2023
Swift Library based on AVFoundation that allow to easily add camera feature with custom UI into your project.

Would you like to create your camera same as Snapchat or Instagram? I think this library could help you. Basicly it is a wrapper above AVFoundation th

Taras Chernyshenko 14 Sep 21, 2022
Fully open source text editor for iOS written in Swift.

Edhita Fully open source text editor for iOS written in Swift. http://edhita.bornneet.com/ What Edhita means? Edhita (Romaji) == エディタ (Katakana) == Ed

Tatsuya Tobioka 1.2k Jan 7, 2023
30 mini Swift Apps for self-study

Swift 30 Projects Contents This repo is updated with Swift 5 and compatible with iPhone X: Simple UIKit components UIScrollView, UITableView, UICollec

Soap 7.5k Jan 3, 2023
Build a Swift App as a designer

DesignerNewsApp Simple iOS client for Designer News, by the creator of Design+Code and the team, written in Swift. Usage Download the repository $ git

Meng To 2.4k Dec 24, 2022
swift implementation of flappy bird. More at fullstackedu.com

FlappySwift An implementation of Flappy Bird in Swift for iOS 8. Notes We're launching a course Game Programming with Swift If you are interested in e

newline (formerly Fullstack.io) 9.5k Dec 29, 2022
Basic app to show how to login with Facebook, Google, Twitter. Created for learning purpose :) using Xcode 9 and Swift 4.0

Social Logins iOS Basic app to show how to login with Facebook, Google, Twitter. Created for learning purpose :) using Xcode 9 and Swift 4.0 Note: Bef

Jogendra 12 Nov 4, 2022
Applozic UI Kit in Swift

Official iOS Swift SDK for Chat ?? Introduction ?? Applozic brings real-time engagement with chat, video, and voice to your web, mobile, and conversat

Applozic 50 Mar 21, 2022
Simple sample of using the VIP (Clean Swift) architecture for iOS

MyAnimeList Simple sample of using the VIP (Clean Swift) architecture for iOS. ViewController: controls the event handling, view life cycle and displa

null 24 Oct 12, 2022
Swift audio synthesis, processing, & analysis platform for iOS, macOS and tvOS

AudioKit AudioKit is an audio synthesis, processing, and analysis platform for iOS, macOS (including Catalyst), and tvOS. Installation To add AudioKit

AudioKit 9.5k Jan 5, 2023
A Swift mailing list client for iPhone and iPad

Due to costs and lack of interest, I’ve had to take down the Charter service. If you’re interested in running your own copy, get in touch and I can se

Matthew Palmer 526 Dec 24, 2022
2048 for Swift

swift-2048 A working port of iOS-2048 to Apple's new Swift language. Like the original Objective-C version, swift-2048 does not rely upon SpriteKit. S

Austin Zheng 3.1k Dec 24, 2022
Learn Swift interactively on your iPhone.

Unwrap is an app that helps you learn Swift faster and more effectively. At its core lies almost 100 video lessons that teach all the fundamentals of

Paul Hudson 2.1k Dec 29, 2022
▶️ video player in Swift, simple way to play and stream media on iOS/tvOS

Player Player is a simple iOS video player library written in Swift. Looking for an obj-c video player? Check out PBJVideoPlayer (obj-c). Looking for

patrick piemonte 2k Dec 24, 2022
SushiMarketingApp - Sushi Marketing App Built With Swift

SushiMarketingApp Sushi E-Commerce App Language: Swift and Objective-C Database:

Serkan Kara 3 Apr 16, 2022
TwitchIRC - A Swift package for parsing/serializing Twitch IRC messages

TwitchIRC A Swift package to take of parsing/serializing Twitch IRC messages for

Mahdi Bahrami 8 Jan 3, 2023
A Hacker News reader iOS app written in Swift.

HackerNews A Hacker News reader iOS app written in Swift. Features View "top", "newest", and "show" posts from Hacker News. Read posts using the SFSaf

Amit Burstein 1.3k Dec 21, 2022
NewsAPISwift is a Swift client for News API V2, a service that provides breaking news headlines, and search for articles from over 30,000 news sources and blogs.

NewsAPISwift NewsAPISwift is a Swift client for News API V2, a service that provides breaking news headlines, and search for articles from over 30,000

Lucas Lima 22 Feb 10, 2022
Matthew Ogtong 0 Jan 20, 2022
Hackers is an elegant iOS app for reading Hacker News written in Swift.

Hackers Hackers is an iPhone and iPad app for reading Hacker News on the go. It's optimised for quickly catching up on the latest news and comments wi

Weiran Zhang 628 Dec 26, 2022