helloMsgs is an iOS demo application and iMessage extension that allows users to select a movie and send its title via iMessage. The message encodes the movie title in a URL; recipients can tap the message to deep-link back and view the movie in the host app.
Features:
- Search and select from a list of popular movies.
- Share movie titles via iMessage as tappable messages.
- Encoded movie titles are sent as URL payloads for robust transfer.
- Deep-link: Tapping a shared movie in Messages opens the main app to display the selected movie.
- Simple keyword-based filtering of movies.
- Clean, unit-testable encoding/decoding logic with pure helpers.
- Unit tests for all encoding/deep-linking logic.
Project Structure:
- AppDelegate.swift — Standard iOS app delegate with deep-link handler.
- ViewController.swift — Main app view controller, displays selected movie title.
- MessagesViewController.swift — iMessage extension UI, movie list, message sending & handling.
- MovieMessaging.swift — Pure helpers for encoding/decoding movie title URLs, supporting both main app and extension.
- MovieMessagingTests.swift — XCTest-based test suite for message encoding/decoding and deep-linking.
Requirements:
- Xcode 13 or newer (Swift 5+ syntax; update as needed)
- iOS 10.0+
- UIKit, Messages framework
Build & Run:
- Open the project in Xcode.
- Select the target (main app or iMessage extension) and platform simulator.
- Build and run.
- For iMessage features, run the extension in the Messages app from the simulator or device.
Running Tests:
- The test target helloMsgsTests includes unit tests for all encoding/decoding logic. Run via Xcode’s Test navigator (⌘U).
License:
This project is for demonstration purposes. Please add your license information here.
Credits:
Created by Umar Farooque. If you use this code or have suggestions, please update the credits accordingly.