Skip to content

wd041216-bit/iOS-Prompter-PiP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Prompter PiP - iOS Teleprompter with Picture-in-Picture

Prompter PiP Logo

Professional Teleprompter with Picture-in-Picture Support

iOS Swift License App Store

Features β€’ Installation β€’ Usage β€’ Architecture β€’ Contributing


πŸ“± Overview

Prompter PiP is a professional iOS teleprompter application that leverages Picture-in-Picture (PiP) technology to display scrolling scripts while recording or live streaming. Perfect for video creators, streamers, presenters, and educators who need to read scripts while maintaining eye contact with their audience.

Why Prompter PiP?

  • 🎯 Picture-in-Picture - Keep your script visible while using other apps
  • πŸ”’ 100% Private - All processing happens locally on your device
  • πŸ“± Universal - Works on iPhone and iPad
  • ⚑ Fast & Efficient - Optimized for smooth performance
  • 🎨 Customizable - Adjust font size, speed, and appearance
  • 🌐 Offline - No internet required, no accounts needed

✨ Features

Core Features

  • βœ… Picture-in-Picture Display - Keep your script visible while using camera, recording, or live streaming
  • βœ… Local Processing - All content stays on your device, 100% private
  • βœ… Customizable Speed - Adjust scrolling speed to match your speaking pace
  • βœ… Font Customization - Change font size and line spacing
  • βœ… Easy Text Input - Simply paste your script and start
  • βœ… Universal App - Native support for iPhone and iPad

Technical Features

  • βœ… iOS 16+ Support - Modern iOS features and APIs
  • βœ… SwiftUI Interface - Clean, modern user interface
  • βœ… AVKit Integration - Professional video playback
  • βœ… Background PiP - Works while app is in background
  • βœ… Memory Efficient - Optimized video generation
  • βœ… Error Handling - Robust error recovery

Privacy Features

  • πŸ”’ No Data Collection - We don't collect any personal information
  • πŸ”’ No Tracking - No analytics or advertising
  • πŸ”’ No Accounts - Works completely offline
  • πŸ”’ Local Storage - All data stays on your device

πŸš€ Installation

Prerequisites

  • Xcode 15.0 or later
  • iOS 16.0 or later
  • Apple Developer Account (for App Store distribution)

Quick Start

  1. Clone the repository

    git clone https://github.com/wd041216-bit/iOS-Prompter-PiP.git
    cd iOS-Prompter-PiP
  2. Open in Xcode

    open PrompterPiP.xcodeproj
  3. Configure Signing

    • Select your Development Team in project settings
    • Update Bundle Identifier if needed
  4. Build and Run

    • Select your target device or simulator
    • Press ⌘R to build and run

Manual Integration

  1. Create a new iOS App project in Xcode
  2. Copy PrompterPiPStarter/ files to your project
  3. Add Background Modes capability:
    • Select your target
    • Go to Signing & Capabilities
    • Add "Background Modes"
    • Enable "Audio, AirPlay, and Picture in Picture"
  4. Configure Info.plist:
    • Add NSCameraUsageDescription (optional)
    • Add NSMicrophoneUsageDescription (optional)

πŸ“– Usage

Basic Usage

  1. Enter Your Script

    • Open the app
    • Paste or type your teleprompter script
    • The app provides a placeholder text to get started
  2. Customize Settings (Optional)

    • Adjust font size
    • Change scroll speed
    • Modify line spacing
  3. Generate Video

    • Tap "Generate and Play"
    • Wait for video generation (usually 1-2 seconds)
  4. Activate PiP

    • Tap the PiP button on the video player
    • The script will appear in a floating window
    • Switch to camera or streaming app to read while recording

Advanced Usage

Custom Settings

var settings = PrompterSettings()
settings.duration = 90.0      // Video duration in seconds
settings.frameRate = 30       // Frames per second
settings.videoSize = CGSize(width: 1080, height: 1920)  // Video resolution
settings.fontSize = 64        // Text size
settings.lineSpacing = 18     // Line spacing

Programmatic Usage

let viewModel = PrompterViewModel()
await viewModel.buildVideo()
if let url = viewModel.videoURL {
    // Use the generated video
    let player = AVPlayer(url: url)
    // Play in PiP mode
}

πŸ—οΈ Architecture

Project Structure

iOS-Prompter-PiP/
β”œβ”€β”€ PrompterPiPStarter/
β”‚   β”œβ”€β”€ PrompterPiPApp.swift         # App entry point
β”‚   β”œβ”€β”€ ContentView.swift            # Main UI
β”‚   β”œβ”€β”€ Models/
β”‚   β”‚   └── PrompterSettings.swift   # Configuration model
β”‚   β”œβ”€β”€ ViewModels/
β”‚   β”‚   └── PrompterViewModel.swift  # Business logic
β”‚   β”œβ”€β”€ Services/
β”‚   β”‚   └── TeleprompterVideoBuilder.swift  # Video generation
β”‚   └── UI/
β”‚       └── PiPPlayerView.swift      # PiP player component
β”œβ”€β”€ Info.plist                       # App configuration
β”œβ”€β”€ PrompterPiPStarter.entitlements  # App capabilities
β”œβ”€β”€ PRIVACY_POLICY.md                 # Privacy policy
β”œβ”€β”€ APP_STORE_SUBMISSION.md           # App Store guide
└── XCODE_CONFIGURATION.md            # Build configuration

Key Components

  1. PrompterViewModel - Manages app state and video generation
  2. TeleprompterVideoBuilder - Generates scrolling video from text
  3. PiPPlayerView - Handles Picture-in-Picture playback
  4. PrompterSettings - User preferences and configuration

Data Flow

User Input β†’ PrompterViewModel β†’ TeleprompterVideoBuilder
    ↓
Video Generation β†’ AVPlayer β†’ PiPPlayerView
    ↓
User Playback β†’ Picture-in-Picture Activation

πŸ› οΈ Development

Requirements

  • iOS SDK: 16.0+
  • Swift: 5.9+
  • Xcode: 15.0+

Build Commands

# Build for debug
xcodebuild -project PrompterPiP.xcodeproj -scheme PrompterPiP -configuration Debug

# Build for release
xcodebuild -project PrompterPiP.xcodeproj -scheme PrompterPiP -configuration Release

# Run tests
xcodebuild test -project PrompterPiP.xcodeproj -scheme PrompterPiP -destination 'platform=iOS Simulator,name=iPhone 14 Pro'

Dependencies

  • SwiftUI - Modern UI framework
  • AVKit - Video playback and PiP
  • AVFoundation - Video generation
  • UIKit - Core graphics

πŸ“Έ Screenshots

Main Interface

Main Interface Clean interface for text input and video generation

PiP Mode Active

PiP Mode Script displayed in Picture-in-Picture window

Settings

Settings Customize font size, speed, and appearance


πŸ“ App Store Submission

Before Submitting

  1. Prepare Screenshots

    • iPhone 6.7" (iPhone 14 Pro Max)
    • iPhone 6.5" (iPhone 11 Pro Max)
    • iPad Pro 12.9"
  2. Complete Metadata

    • App name and description
    • Keywords and categories
    • Support URL and marketing URL
  3. Review Checklist

    • All features working
    • No crashes or bugs
    • Privacy policy included
    • Screenshots uploaded
    • App icons created

Submission Steps

  1. Archive your app in Xcode
  2. Upload to App Store Connect
  3. Fill in all required metadata
  4. Submit for review

See APP_STORE_SUBMISSION.md for detailed instructions.


πŸ”’ Privacy & Security

What We DON'T Collect

  • ❌ Personal information
  • ❌ Location data
  • ❌ Contacts or calendar
  • ❌ Photos or videos
  • ❌ Biometric data
  • ❌ Health information
  • ❌ Financial information

What We DO Process Locally

  • βœ… Text content you input
  • βœ… Generated video files
  • βœ… App settings and preferences

Security Features

  • πŸ”’ All processing is local
  • πŸ”’ No network transmission
  • πŸ”’ iOS sandbox protection
  • πŸ”’ No cloud storage

See PRIVACY_POLICY.md for complete privacy policy.


🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Commit your changes (git commit -m 'Add amazing feature')
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

Code Style

  • Follow Swift API Design Guidelines
  • Use SwiftLint for code formatting
  • Write unit tests for new features
  • Update documentation for API changes

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

  • Apple - For AVKit and Picture-in-Picture technology
  • SwiftUI Community - For modern iOS development practices
  • Contributors - For their valuable feedback and improvements

πŸ“ž Support

Issues & Bugs

If you find any issues or bugs, please create an issue with:

  • Device model and iOS version
  • Steps to reproduce
  • Expected vs actual behavior
  • Screenshots (if applicable)

Feature Requests

We welcome feature requests! Please open a discussion to share your ideas.

Contact


Made with ❀️ for creators worldwide

⬆ Back to Top

About

Prompter PiP - Professional iOS Teleprompter with Picture-in-Picture Support. Perfect for video creators, streamers, and presenters. 100% private, offline, and App Store ready.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors