1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77# Amnesiac
Minimal iOS boilerplate templates for developers who prefer programmatic UI over Interface Builder
[](https://github.com/25harsh/Amnesiac)
[](https://github.com/25harsh/Amnesiac)
[](LICENSE)
## Overview
Amnesiac provides clean, production-ready iOS project templates that are configured **100% programmatically** โ no Storyboards, no LaunchScreens, no XIBs. Perfect for developers who want full control over their UI code and prefer a code-first approach.
## Why Amnesiac?
- **No Interface Builder** - Everything is in code, making it easier to review, merge, and understand
- **Language Interoperability** - Templates demonstrating Swift โ Objective-C bridging
- **Production-Ready** - Minimal, clean setup that's ready to build upon
- **Educational** - Learn how to set up iOS projects programmatically and bridge between languages
## Available Templates
This repository contains four ready-to-use templates:
### 1. **Swift** (`/Swift`)
Pure Swift implementation with programmatic UI setup. Ideal for modern iOS development.
### 2. **ObjC** (`/ObjC`)
Pure Objective-C implementation. Perfect for maintaining legacy codebases or learning Objective-C.
### 3. **ObjC2Swift** (`/ObjC2Swift`)
Objective-C project calling Swift code. Demonstrates how to integrate Swift code into existing Objective-C projects.
### 4. **Swift2ObjC** (`/Swift2ObjC`)
Swift project calling Objective-C code. Shows how to use Objective-C libraries/code in Swift projects.
## Features
- โ
No Storyboards or XIBs
- โ
No LaunchScreen storyboard
- โ
Programmatic window and view controller setup
- โ
Clean AppDelegate configuration
- โ
Bridging header examples (for interop templates)
- โ
Ready to build and run
- โ
Minimal boilerplate code
## Getting Started
### Requirements
- Xcode 14.0+
- iOS 13.0+
- macOS 12.0+ (for development)
### Installation
1. Clone the repository:
```bash
git clone https://github.com/25harsh/Amnesiac.git
cd Amnesiac
```
2. Choose your template and navigate to it:
```bash
cd Swift # or ObjC, ObjC2Swift, Swift2ObjC
```
3. Open the Xcode project:
```bash
open Amnesiac.xcodeproj
```
4. Build and run (โ + R)
## License
This project is licensed under the Apache [License](LICENSE) 2.0