Build an iMessage App from Scratch
Create an iOS10 / Swift 3 based iMessage app that lets users mash-up images and send them to friends

What you will learn
Create an iMessage app that allows users to save a library of images they've created
Work with various Swift 3 based UI components
Know the fundamentals of creating an iMessage app extension with Xcode 8
Why take this course?
🌟 Build an iMessage App from Scratch with Swift 3 & Xcode 8 🌟
Are you ready to dive into the world of iOS development and create engaging, interactive iMessage apps? With Justin's guidance, you'll learn how to build a fully functional image mash-up app from scratch using the latest Swift 3 syntax and Xcode 8 features. By the end of this course, you'll be crafting personalized images, combining them in unique ways, and sending them directly within iMessage conversations!
Course Highlights:
- Hands-On Learning: Engage with practical exercises that will have you building your very own iMessage app step by step.
- User Interface Mastery: Learn how to implement a
UIPickerView
to display emojis or images, and manipulate them to your heart's content. - Advanced Picker Functionality: Explore the intricacies of working with multiple components in a picker, and understand how to switch between Expanded and Compact modes to enhance user experience.
- Interactive Elements: Add interactive
UIButton
elements that respond to user input, and animate transitions for a seamless user interface. - Data Management: Save images as data using
User Defaults
, manage property lists, and restore app states with ease. - Messaging Capabilities: Send MSMessages containing the user's created images directly from your app within iMessage.
What You'll Learn:
- UIPickerViews: Utilize
UIPickerView
to create a dynamic and intuitive interface for image selection. - Image Manipulation: Scale, rotate, or move images within the app to create unique compositions.
- UIButton Customization: Design and add custom buttons to your app for a polished look and enhanced functionality.
- Animations with UIView: Bring your app to life with smooth animations that make the user experience delightful.
- Data Persistence: Save images and states so users can access their creations anytime, even after exiting the app.
- iMessage Integration: Send the mash-ups as rich media messages within iMessage conversations.
Why This Course?
This course stands out because it not only teaches you how to build an iMessage extension but also equips you with skills that are applicable to a wide range of Swift 3 based Xcode projects. Whether you're aiming to expand your app portfolio, enhance user engagement, or simply satisfy your curiosity about iOS development, this course is your stepping stone to success.
📚 Topics Covered:
- Working with
UIPickerViews
- Displaying text or
UIImageView
s inUIPickerView
rows - Adding and styling
UIButton
s - Switching between Expanded and Compact modes
- Using
UIView
animations - Saving Images as Data to the User Defaults
- Restoring app states based on the User Defaults
- Working with Property Lists to manage data
- Sending MSMessages using iMessage API
Get started today and transform your coding skills! With this comprehensive course, you'll be well on your way to creating dynamic, interactive applications that users will love. Enroll now and let's build something amazing together! 🚀💫
Screenshots




Our review
Overall Course Rating: 3.60
Course Review Synthesis
Pros:
- Instructor's Enthusiasm and Resources: The instructor provides informative resources and maintains an optimistic tone throughout the course, which many students found motivating and valuable.
- Pricing and Content Value: As per a returning student, the course offers significant value for the price point, especially considering Justin's past work and instruction quality.
- Direct and Efficient Tutorials: The tutorials are described as fast and to the point, which is satisfactory for learners looking for concise information.
- Informative Content: The instructor is noted for providing informative resources that help students feel lucky to be taking such an amazing course.
- Clear Instruction: Justin is commended for his clear and easy-to-understand explanations, making the content accessible without causing frustration. He also corrects his mistakes, which demonstrates his genuine approach to teaching.
Cons:
- Lack of Code Explanation and Editing: There are concerns that the course lacks detailed explanations about the used code and proper editing, with some students feeling that the instructor was more focused on releasing the course than providing comprehensive instruction.
- Pacing and Engagement: While the tutorials are fast and to the point, some students feel they could be more engaging, suggesting shorter videos with a slower approach might help with comprehension, especially for non-native English speakers who may have trouble keeping up while typing along.
- Video Content Focus: A few students pointed out that the course would benefit from focusing more on using the API, rather than just showing what to type without context.
- Language Barrier for Non-Native Speakers: One student mentioned that following along with coding and understanding the instructions simultaneously is challenging for a French speaker, indicating that the pace could be too fast for those not fluent in English.
Course Summary: The course has received a mixed set of reviews. Students have appreciated the value they get for their investment, the instructor's enthusiasm, and the straightforward tutorials. However, there are notable drawbacks such as the lack of detailed explanations and code editing, which could significantly improve the learning experience. The pacing and content focus have also been subjects of critique, with suggestions to enhance engagement and provide a clearer understanding of coding with the API. Despite these concerns, many students find the course satisfactory and beneficial for their learning goals.
Note to Course Creators:
- Consider adding more detailed explanations and code editing for clarity.
- Explore ways to make the content more engaging and potentially slower-paced to aid comprehension.
- Ensure that future tutorials include a focus on using the API effectively, providing context for the coding steps shown.
- It may be beneficial to consider offering subtitles or additional resources for non-native English speakers to improve accessibility.