Recreating a fully functional version of iOS 4 in SwiftUI.

Overview

alternatetext alternatetext alternatetext alternatetext


Updates: Version 1.0 is currently available πŸŽ‰
While I work on fixing an issue in Xcode 12.5+ with LazyVGrid, I recommend you build using Xcode 12.4 and below.

What and Why?

OldOS is a testament to the days of yesteryear, showcasing what iOS once was ten years ago. The ethos of the app is to merge the technologies of today with a pixel-perfect recreation of the user experience of the past. The vast majority of apps in OldOS are fully functional β€” meaning they seamlessly integrate with the data on your phone to deliver a live, emulator-esque experience. What does this mean? Well, you can play your music in iPod, get directions in Maps, surf the web in Safari, view the current weather in Weather, and much more. By the same token, no shortcuts were taken in fully fleshing out the operating system. You can change your background, adjust settings, search apps, et cetera. There are a few apps still not ready for primetime but don't worry, they're coming soon.

With OldOS, you no longer need to worry about securing a legacy iPhone to experience nostalgia β€” it's available on your daily driver.

Part of the goal with OldOS is to enable anyone to understand how iOS works and demonstrate just how powerful SwiftUI truly is. For that reason, the entire app is open-sourced β€” enabling developers to learn about, modify, and add to the app. I thought building this over my last six or so months in high school and sharing it with the world would be a fun and productive endeavor.

What's Special

* πŸ§‘β€πŸ’» Built almost entirely using SwiftUI.
* 🎨 Designed to be as close to pixel-perfect as possible.
* πŸ“± Fully functional, perhaps even usable as a second OS.
* ❀️ A testament to the work of Apple employees of both the past and the present.
* πŸ—ΊοΈ Fully open source for all to learn, modify, and build on.

Where to Begin

The project is logically structured in files by app. Inside each app file, you'll see code and commentary behind it. Aside from main apps, there is the Common file. My mindset was to build the app in the same way Apple built interface builder β€” you have a collection of UI elements at your disposal that are bases. You can then make a copy in whatever other file you'd like if you require custom abilities. If you just need the generic version, you can use the generic. Hence, common, containing all your common UI elements. Lastly, there is HomeScreen, and LockScreen β€” essentially making up the Springboard. Lastly, in Assets.xcassets, you'll find all the image assets structured by app.

Imagery

Thanks

Thanks to all who decide to use, learn from, and modify this project. As well as all the creators of libraries imported. This was a blast to create and I hope you enjoy it. I built this project while I had a little bit of time before college. If you enjoy it, please consider providing any little bit of support you can β€” it truly means a million.

Buy Me A Coffee

License

Creative Commons Attribution 4.0: https://creativecommons.org/licenses/by/4.0/

Comments
  • Design error on Home-Button iPhones

    Design error on Home-Button iPhones

    Hi, I’ve sideloaded OldOS with AltStore and on my test iPhone (iPhone 6s) is looks like this, the Dock is very Buggy, I hink its because the Fake Home-Button.

    And the bar on the Top is bigger, than normal im a App in OldOS

    E5A86680-BDA1-42EE-9957-A6139629D38B

    opened by TheBalkanDev 3
  • Unable to build on Xcode 12.3

    Unable to build on Xcode 12.3

    I really want to test OldOS, and the TestFlight is already full. I decided that I can build it with Xcode, so I removed Xcode 12.5 and downloaded 12.3, just as recommended. However, I only have a personal developer account, and I can't sign it. It throws this error: "Personal development teams, including {account name}, do not support the Access WiFi Information and Game Center capabilities.". Is there any workaround for this? I really want to install it to my device. Maybe its possible to make an IPA, and install it with Cydia impactor? Thanks

    opened by Ifuxit 2
  • Safari only loads website on first page

    Safari only loads website on first page

    https://user-images.githubusercontent.com/49427963/121764575-f06ea400-cb7f-11eb-873e-c827ba71a24a.mov

    When I try to open a website in a new tab in Safari, it loads the page on first tab.

    • iOS 15 Dev beta 1
    • self-signed IPA from github
    opened by hellojsna 2
  • Can you Release Build 9 as .ipa and Suggestion

    Can you Release Build 9 as .ipa and Suggestion

    I’ve sideloaded OldOS with AltStore, but Build 7 is buggy. Can you Release the newest Build as .ipa file? I would do it myself but I don’t have any Swift knowledge.

    And can you make, that you can import music from the Files App into iPod App?

    opened by TheBalkanDev 1
  • Home screen can be scrolled vertically after opening Camera or Weather

    Home screen can be scrolled vertically after opening Camera or Weather

    Don't have a video for this, but after opening Weather or Camera, I'm able to "scroll" up and down on both home pages. Releasing my finger will cause the page to snap back to it's original position.

    opened by HunterBoy344 1
  • This is really cool!

    This is really cool!

    I am seriously blown away by this project of yours. It is seriously cool, mad props!! πŸ’―

    Also I think the fact that the browser comes with your website open in one of the tabs was a neat little easter egg :)

    That is all

    opened by ctsrc 1
  • add info.plist property to force light mode

    add info.plist property to force light mode

    Hey man! Love this project, looks great and its suuuch a rush seeing that lovely oldOS!

    I did notice it doesn't work in dark mode so as a temporary fix i added force light mode option πŸ™Œ IMG_27C3F3B849D0-1

    opened by emin-grbo 1
  • Xcode 12.5

    Xcode 12.5

    • Adds Home screen icon shadows
    • Adds the ability to search for new locations in Weather
    • Upgraded to Xcode 12.5 build system
    • Now using Fastlane for deployment
    opened by zzanehip 0
  • Fade background transition from springboard to spotlight πŸ’‘

    Fade background transition from springboard to spotlight πŸ’‘

    When dragging from page 1 of Home Screen to spotlight, the transition is sudden which appears jarring.

    This makes the transition smooth, however unsure why dragging back again does not have the animation. (SwiftUI bug?)

    Video shows the before and after:

    https://user-images.githubusercontent.com/16542463/121783219-40ac2d00-cba5-11eb-895d-15e1faa596ae.mov

    opened by atrinh0 0
  • Page indicators on the home screen to behave like a page control

    Page indicators on the home screen to behave like a page control

    Fixes: https://github.com/zzanehip/The-OldOS-Project/issues/4

    The tiny icons can be pressed to navigate to those pages. Either side of the icons can also be pressed to navigate a page at a time, similar to a page control.

    opened by atrinh0 0
  • Spotlight search on home button πŸ”

    Spotlight search on home button πŸ”

    For added realism, pressing the home button when already on the first page of the springboard shows the spotlight search.

    https://www.youtube.com/watch?v=hMZXnyk2SJA

    opened by atrinh0 0
  • ipa untrusted developer

    ipa untrusted developer

    hi when i download old os through itunes ipa file it says "unable to install oldos this app could not be installed because its integrity could not be verified" can someone help me fix this i wanna try this app

    opened by ripjaw1219 3
  • option for installing .ipa for more app/game options (suggestion)

    option for installing .ipa for more app/game options (suggestion)

    I was able to install your app with altstore, and this app is very good for nostalgia and entertainment purposes. While all your default apps function and are very nice, in the future it would be nice to see a .ipa app installation option.

    opened by Lawfulll 0
  •  Problems with the screen size using an iPhone SE (2016)

    Problems with the screen size using an iPhone SE (2016)

    The 1st gen iPhone SE can install this app but because of its small screen you can not see everything and some parts get cut. I think this would get solved by removing the borders on the sides and above the screen and reducing the one below with the button (only in this phone).

    opened by pmarimon 1
  • App Switcher: Close button hard to hit

    App Switcher: Close button hard to hit

    The little minus button on the upper left corner of the respective app icon is very hard to hit. Maybe increase the size of the hit box to protrude out of the actual buttons boundaries.

    opened by JonasGrunau 1
Releases(1.0_18)
Owner
null
A functional, simplistic quick notes app, built in Swift for iOS

iOS QNApp Documentation Built for iOS 14 and above in XCode 13.1 Takes user input and stores in a note, can be modified at any time Dark mode and acce

itbarsoum 0 Jan 3, 2022
An unofficial version of the Sandwiches app and pre-built materials similar to those used in the Introduction to SwiftUI session video from WWDC20

Unofficial Sandwiches The WWDC20 Session Introduction to SwiftUI provides a tutorial-like walk-through of building a list-detail SwiftUI app from scra

James Dempsey 94 Feb 11, 2022
A shopping app fully made in SwiftUI for iOS 14.1.

A shopping app fully made in SwiftUI for iOS 14.1.

null 19 Dec 14, 2022
πŸ“± An app fully written in SwiftUI showcasing beautiful design and animations.

DesignCode DesignCode is an app fully built using Apple's latest SwiftUI and Combine framework. Beautifully written code that is well intended for eas

Mithun 704 Jan 3, 2023
iOS version of emitron

emitron (iOS) emitron is the code name for the raywenderlich.com app. This repo contains the code for the iOS version of the app. Contributing To cont

razeware 331 Dec 2, 2022
Version of PopcornTime app for iOS based on libtorrent and MobileVLCKit.

PopcornTime for iOS Version of PopcornTime app for iOS based on libtorrent and MobileVLCKit. There is still a lot of work to do, but in most cases it

Danylo Kostyshyn 193 Nov 28, 2022
iOS (swift) version of skydove's Pokedex application. Based on MVVM architecture.

Pokedex - Swift iOS (swift) version of skydove's android application, check it out. Based on MVVM architecture. It was written in memory of Ferhat, wh

Mert 2 Dec 4, 2022
A weather app developed in React Native. It is the React Native version of SwiftWeather.

ReactNativeWeather A weather app developed in React Native. It is the React Native version of SwiftWeather How to run the app Install react-native If

Jake Lin 22 Jun 7, 2022
ReleaseNotesKit - a brand new, elegant, and extremely simple way to present the recent version’s release notes to your users

ReleaseNotesKit This is ReleaseNotesKit, a brand new, elegant, and extremely simple way to present the recent version’s release notes to your users. R

Swapnanil Dhol 22 Jun 30, 2022
New version of CardinalKit based on the Swift Package Manager and a modularized architecture.

CardinalKit Open-source framework for rapid development of modern, interoperable digital health applications. Contributing Contributions to this proje

Stanford Biodesign for Digital Health 3 Dec 3, 2022
🎲 100% SwiftUI 2.0, classic 2048 game [SwiftUI 2.0, iOS 14.0+, iPadOS 14.0+, macOS 11.0+, Swift 5.3].

swiftui-2048 If you like the project, please give it a star ⭐ It will show the creator your appreciation and help others to discover the repo. ✍️ Abou

Astemir Eleev 174 Dec 17, 2022
Orbit-swiftui - Orbit design system implemented in SwiftUI for iOS

Orbit is a SwiftUI component library which provides developers the easiest possi

Kiwi.com 37 Jan 3, 2023
SwiftUI Backports - Introducing a collection of SwiftUI backports to make your iOS development easier

SwiftUI Backports Introducing a collection of SwiftUI backports to make your iOS development easier. Many backports support iOS 13+ but where UIKIt fe

Shaps 530 Dec 28, 2022
A simple SwiftUI Application to demonstrate creation of UI using SwiftUI.

WatchShop_UI A simple SwiftUI Application to demonstrate creation of UI using SwiftUI. How to run the project ? Fork the project. Run the project usin

Shubham Kr. Singh 12 Apr 15, 2022
E-commerce app built in SwiftUI. Built in the course SwiftUI Masterclass in Udemy.

Touchdown-SwiftUI E-commerce app built in SwiftUI. Built in the course SwiftUI Masterclass in Udemy. Main components and concepts used: @EnvironmentOb

Jorge Martinez 5 Aug 18, 2022
A multiplatform SwiftUI project demonstrating various SwiftUI features.

WikiDemo A multiplatform SwiftUI project demonstrating various SwiftUI features, including creating a master-detail interface. It's a multiplatform ve

Swift Dev Journal 6 Oct 17, 2022
SwiftUI Projects from Udemy SwiftUI Masterclass

SwiftUI Masterclass Repos: AsyncImage (N/A) Fructus (finished): an app for getting information about different fruits. Data comes from json files. Afr

Patrick Spafford 1 Mar 3, 2022
Best architecture for SwiftUI + CombineBest architecture for SwiftUI + Combine

Best architecture for SwiftUI + Combine The content of the presentation: First of the proposed architectures - MVP + C Second of the proposed architec

Kyrylo Triskalo 3 Sep 1, 2022