A lightweight native iOS template for creating apps with WKWebView that load local HTML/CSS/JS assets.
- macOS with Xcode 15+
- iOS 14.0 or later
-
Create New iOS Project in Xcode:
- Open Xcode β "Create New Project"
- Choose "App" template
- Product Name: Your App Name
- Interface: SwiftUI
- Language: Swift
- Minimum iOS: 14.0
-
Add Web Files:
- Delete placeholder files in
WebAssets/folders - Add your actual files:
- HTML:
WebAssets/HTML/(must includeindex.html) - CSS:
WebAssets/CSS/ - JS:
WebAssets/JS/ - Images:
WebAssets/Images/
- HTML:
- Delete placeholder files in
-
Replace Code:
- Replace
App.swiftwithWebViewApp.swift - Replace
ContentView.swiftwith provided file - Ensure WebAssets folder is added to project bundle
- Replace
-
Build & Run in Xcode
iOS WebView App/
βββWebViewApp.swift # Main app structure
βββContentView.swift # WebView container
βββWebAssets/ # Web content (add to Xcode bundle)
βββ HTML/
β βββ index.html # Main HTML file (required)
βββ CSS/ # Stylesheets
βββ JS/ # JavaScript
βββ Images/ # Images
- β Lightweight - Native WKWebView, no heavy frameworks
- β Local Assets - Loads HTML/CSS/JS from app bundle
- β JavaScript Enabled - Full web functionality
- β SwiftUI - Modern iOS development
- β iOS 14+ - Broad device compatibility
- Open project in Xcode
- Connect iOS device or use simulator
- Product β Run (βR)
In your HTML files, reference assets like:
<link rel="stylesheet" href="../CSS/style.css">
<script src="../JS/app.js"></script>
<img src="../Images/logo.png">Β· Main HTML file must be named index.html Β· WebAssets folder must be added to app bundle in Xcode Β· Test on actual device for full performance Β· App size: ~2-5MB (depending on your web content)
π License
[Add your license here]