Swift iOS Calculator

Professional-Grade Calculator Application with Advanced Mathematical Capabilities

123.45

๐Ÿš€ Features Overview

Core Calculators

Basic, Scientific, Programmer, Unit & Currency Converters with advanced mathematical functions.

Graphing & 3D

2D function plotting and 3D surface visualization using SceneKit technology.

AI Math Solver

Step-by-step solutions for algebra, calculus, and complex mathematical problems.

Specialized Tools

Chemistry, Physics, Engineering, Financial, and Geometry calculators.

Matrix & Statistics

Complete linear algebra operations and statistical data analysis tools.

Platform Integration

Widgets, Siri Shortcuts, Apple Watch support, and theme customization.

๐Ÿ“ Project Structure & Files

Project Overview

The Swift iOS Calculator project contains 52 total files organized into logical categories for optimal maintainability and scalability.

27

Swift Files

19

Storyboard Files

6

Config Files

3

Asset Files

Complete File Structure

๐Ÿ“ฆ Swift iOS Calculator โ”‚ โ”œโ”€โ”€ ๐Ÿ“ Assets.xcassets โ”‚ โ”œโ”€โ”€ ๐Ÿ“ AppIcon.appiconset โ”‚ โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ Contents.json โ”‚ โ”‚ โ””โ”€โ”€ ๐Ÿ“„ README.md โ”‚ โ”œโ”€โ”€ ๐Ÿ“ AccentColor.colorset โ”‚ โ”‚ โ””โ”€โ”€ ๐Ÿ“„ Contents.json โ”‚ โ””โ”€โ”€ ๐Ÿ“„ Contents.json โ”‚ โ”œโ”€โ”€ ๐Ÿ“ Base.lproj โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ AIMathSolver.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ ChemistryCalculator.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ CurrencyConverter.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ CustomFormulaBuilder.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ EngineeringCalculator.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ EquationSolver.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ FinancialCalculator.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ GeometryCalculator.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ Graphing3D.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ GraphingCalculator.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ History.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ LaunchScreen.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ Localizable.strings โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ Main.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ MatrixCalculator.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ PhysicsCalculator.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ ProgrammerCalculator.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ Scientific.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ Settings.storyboard โ”‚ โ””โ”€โ”€ ๐Ÿ“„ UnitConverter.storyboard โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ AppDelegate.swift โ”œโ”€โ”€ ๐Ÿ“„ CalculatorHistoryViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ CalculatorLogic.swift โ”œโ”€โ”€ ๐Ÿ“„ CalculatorSettingsViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ CalculatorTheme.swift โ”œโ”€โ”€ ๐Ÿ“„ CalculatorUtils.swift โ”œโ”€โ”€ ๐Ÿ“„ CalculatorViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ CalculatorWidget.swift โ”œโ”€โ”€ ๐Ÿ“„ CalculatorWidgetInfo.plist โ”œโ”€โ”€ ๐Ÿ“„ ChemistryCalculatorViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ CurrencyConverterViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ CustomFormulaBuilderViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ EngineeringCalculatorViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ EquationSolverViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ FinancialCalculatorViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ GeometryCalculatorViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ Graphing3DViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ GraphingCalculatorViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ Info.plist โ”œโ”€โ”€ ๐Ÿ“„ LICENSE โ”œโ”€โ”€ ๐Ÿ“„ MainTabBarController.swift โ”œโ”€โ”€ ๐Ÿ“„ MatrixCalculatorViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ PhysicsCalculatorService.swift โ”œโ”€โ”€ ๐Ÿ“„ PRIVACY_POLICY.md โ”œโ”€โ”€ ๐Ÿ“„ ProgrammerCalculatorViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ README.md โ”œโ”€โ”€ ๐Ÿ“„ SceneDelegate.swift โ”œโ”€โ”€ ๐Ÿ“„ ScientificCalculatorViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ SiriShortcutsManager.swift โ”œโ”€โ”€ ๐Ÿ“„ Swift iOS Calculator.entitlements โ”œโ”€โ”€ ๐Ÿ“„ UnitConverterViewController.swift โ”œโ”€โ”€ ๐Ÿ“„ WatchCalculatorViewController.swift โ”‚ โ””โ”€โ”€ ๐Ÿ“ swift-ios-calculator.xcodeproj โ””โ”€โ”€ ๐Ÿ“„ project.pbxproj

Core Files
  • AppDelegate.swift
  • SceneDelegate.swift
  • MainTabBarController.swift
Calculator Logic
  • CalculatorLogic.swift
  • CalculatorUtils.swift
  • CalculatorTheme.swift
View Controllers (15)
  • CalculatorViewController.swift
  • ScientificCalculatorViewController.swift
  • ProgrammerCalculatorViewController.swift
  • + 12 more...
Platform Integration
  • CalculatorWidget.swift
  • SiriShortcutsManager.swift
  • WatchCalculatorViewController.swift

Main Interface
  • Main.storyboard
  • LaunchScreen.storyboard
Calculator UIs (15)
  • AIMathSolver.storyboard
  • ChemistryCalculator.storyboard
  • CurrencyConverter.storyboard
  • + 12 more...
Support Screens
  • Settings.storyboard
  • History.storyboard

  • Info.plist
  • Swift iOS Calculator.entitlements
  • CalculatorWidgetInfo.plist
  • Localizable.strings
  • LICENSE
  • PRIVACY_POLICY.md

  • AppIcon.appiconset/
  • AccentColor.colorset/
  • Contents.json
File Statistics

52

Total Files

15+

Calculator Types

9

Frameworks

6

Themes

File Organization Purpose

Scalability

Organized structure supports easy addition of new calculator types and features.

Maintainability

Clear separation of concerns makes debugging and updates straightforward.

Collaboration

Logical file organization enables efficient team development workflows.

โš™๏ธ Installation & Setup

Step 1: Prerequisites

  • macOS 12.0 or later
  • Xcode 13.0 or later
  • iOS 15.0+ target deployment
  • Apple Developer Account (for distribution)

Step 2: Clone the Repository

git clone https://github.com/rskworld/swift-ios-calculator.git
cd swift-ios-calculator

Step 3: Open in Xcode

open swift-ios-calculator.xcodeproj

Step 4: Configure Project

  • Select your development team in project settings
  • Update bundle identifier if needed
  • Configure signing certificates
  • Verify app capabilities (Camera, App Groups)

Step 5: Build & Run

# Select target device or simulator
# Press Cmd+R to build and run
# Or use command line:
xcodebuild -scheme "Swift iOS Calculator" -destination "platform=iOS Simulator,name=iPhone 14"
Framework Dependencies

The project automatically includes these frameworks:

SceneKit CoreGraphics WidgetKit SwiftUI AudioToolbox NaturalLanguage Intents IntentsUI WatchKit

๐Ÿ“– Usage Guide

Basic Usage

  1. Launch the App: Open from home screen
  2. Select Calculator Type: Choose from tab bar
  3. Basic Operations: Use number and operation buttons
  4. Memory Functions: M+, M-, MR, MC for memory
  5. Clear Functions: C for clear, AC for all clear

Advanced Features

  1. Scientific Mode: Access sin, cos, tan, log, โˆš functions
  2. Programmer Mode: Binary, hex, octal conversions
  3. Unit Conversion: Select category and input values
  4. Currency Exchange: Real-time rates with QR scanning
  5. Graphing: Enter functions and view plots

Theme Customization

  1. Go to Settings tab
  2. Select "Themes" option
  3. Choose from 6 themes: Light, Dark, Blue, Green, Purple, Sunset
  4. Theme applies instantly across all calculators
  5. Preference saved automatically

History & Settings

  1. Calculation History: View past calculations
  2. Clear History: Remove all or selected entries
  3. Sound Settings: Toggle button sounds
  4. Haptic Feedback: Enable vibration feedback
  5. Decimal Places: Set precision (1-15 digits)

Platform Integration

Home Screen Widgets

Add calculator widgets to your home screen for quick access

Siri Shortcuts

Use voice commands to perform calculations

Apple Watch

Calculator available on your Apple Watch

QR Code Scanning

Scan QR codes for currency exchange rates

๐Ÿ—๏ธ Architecture & Code Structure

MVC Architecture

The app follows Model-View-Controller pattern:

  • Models: CalculatorLogic, CalculatorTheme, Settings
  • Views: Storyboards, UI components
  • Controllers: 15+ specialized view controllers

Key Components

  • MainTabBarController: Navigation hub
  • CalculatorLogic: Core calculation engine
  • CalculatorTheme: Theme management system
  • CalculatorUtils: Utility functions

Code Examples

Theme System Usage:
// Apply theme to view controller
override func viewDidLoad() {
    super.viewDidLoad()
    view.backgroundColor = CalculatorTheme.shared.backgroundColor
    applyThemeToSubviews(view, theme: CalculatorTheme.shared)
}

// Change theme dynamically
CalculatorTheme.shared.setTheme("Dark")
Calculator Logic Usage:
// Perform calculation
let calculator = CalculatorLogic()
calculator.inputNumber(5)
calculator.setOperation(.add)
calculator.inputNumber(3)
let result = calculator.calculate() // Result: 8

Security & Privacy

  • All calculations performed locally
  • No data transmitted to external servers
  • Biometric authentication for history
  • Privacy policy compliant with App Store

Performance

  • Optimized for iOS 15+ features
  • Efficient memory management
  • Smooth animations and transitions
  • Fast startup and calculation response
rskworld.in