/SwiftCall

SwiftCall offers quick and secure communication with emergency contacts at the tap of a button, even offline. Designed for urgent situations, it ensures reliable connectivity when you need it most.

Primary LanguageSwiftMIT LicenseMIT

SwiftCall

Introduction

In critical moments, every second is vital. We are pleased to introduce SwiftCall - the premier solution for prompt and effective communication during emergencies.

SwiftCall facilitates immediate access to your crucial contacts with a simple tap. Whether it is reaching emergency services, connecting with loved ones, or accessing essential resources, SwiftCall ensures seamless communication in urgent situations.

Key Features

  • 📞 Immediate Access to Emergency Contacts: Effortlessly connect to key contacts.
  • ⚫️ Offline Functionality: Operates without the need for an internet connection.
  • Add New Contacts: Easily expand your list of important contacts.
  • 🔒 Secure Communication with CallKit: Ensures privacy and data security.

Technology Stack

  • Xcode: Integrated Development Environment (IDE) for iOS/macOS development.
  • SwiftUI: A modern user interface framework for iOS applications.
  • CallKit: A framework for managing and interacting with phone calls.

Setup Instructions

Prerequisites

  • A macOS system with Xcode installed.
  • An Apple developer account.
  • Basic knowledge of Swift programming and iOS development.

Installation

  1. Clone the repository:
    git clone https://github.com/msnabiel/SwiftCall.git
  2. Navigate to the project directory:
    cd SwiftCall
  3. Open the project in Xcode:
    open SwiftCall.xcodeproj

Configuration

  1. Open SwiftCall.xcodeproj in Xcode.
  2. Navigate to the Signing & Capabilities tab in the project settings.
  3. Sign in with your Apple Developer account and select your team.
  4. Update the bundle identifier to a unique identifier (e.g., com.msnabiel.SwiftCall).

Build & Run

  1. Select a target device (e.g., iPhone 14) in Xcode.
  2. Click the play button to build and run the application on a simulator or a physical device.

Testing

Unit Tests

  1. Open the test navigator in Xcode by selecting the test tube icon.
  2. Select and run the test suites for SwiftCall.
  3. Review the test results to confirm that all features are operating correctly.

Manual Testing

  1. Add several contacts within the application and attempt to make calls.
  2. Test offline functionality by enabling airplane mode on your device.
  3. Verify security by ensuring CallKit permissions are properly managed.

Contribution

We welcome contributions! If you are interested in contributing, please fork the repository and create a feature branch. Pull requests are greatly appreciated.

  1. Fork the repository.
  2. Create a feature branch:
    git checkout -b feature/AmazingFeature
  3. Commit your changes:
    git commit -m 'Add AmazingFeature'
  4. Push to the branch:
    git push origin feature/AmazingFeature
  5. Create a new pull request.

License

This project is licensed under the MIT License. For more details, please refer to the LICENSE file.

Author