پیش نیازها:
- هیچ تجربه برنامه نویسی لازم نیست - من همه چیزهایی را که باید بدانید به شما یاد می دهم
- یک لپ تاپ مک یا iMac (یا رایانه شخصی در حال اجرا)
- تمام برنامه ها در Xcode 9 (رایگان ارائه می شود) ایجاد می شوند
- من با شما قدم می زنم ، قدم به قدم چگونه می توان Xcode را نصب کرد
- این دوره برای چه کسی است؟
- اگر یک مبتدی مطلق برای کد نویسی هستید ، این دوره را طی کنید.
- اگر یک برنامه نویس هستید ، این دوره را طی کنید تا با پیشرفت سریع Swift 4 و توسعه برنامه بومی سرعت بیشتری کسب کنید. با پیاده روی همراه Xcode شروع می کنیم و ما شما را با توسعه iOS آشنا می کنیم!
- اگر از Objective-C به Swift سوئیچ می کنید ، این روش سریع انجام آن است. می توانید بلافاصله با ماژول Swift Language Intermediate شروع به کار کنید.
- اگر شما یک توسعه دهنده طرفدار iOS هستید و می خواهید به سرعت با برنامه های جدید iOS 11 اپل به روز شوید ، سپس با ماژول های ARKit و CoreML شروع کنید.

در ادامه با برخی از سرفصل های درسی این مجموعه آموزش آشنا می شویم :
Course content
Getting Started with iOS 11 and Swift 4
What You'll Get in This Course
About the 2018 Version
How to Get All the Free Stuff
Download Your Massive Asset Bundle Here
Join the Student Community
Get Monthly Tips and Tools to Level Up as a Developer
Tools and Materials for iOS 11 App Development
Download Xcode 9
A Walkthrough of the Xcode Development Environment
Download the Swift Cheat Sheet and a Map of Xcode
The Anatomy of an iOS App
iOS Interface Builder - The $999 App
The I Am Rich App
How to Properly Create a New Xcode Project
What is a Bundle Identifier?
Let's Design the User Interface Using Storyboards
How to Position User Interface (UI) Elements
Download the Pre-Prepared Image Assets Here
How to Incorporate Image Assets into Your Xcode Project
What's the Difference Between Points and Pixels & How to Design iOS Image Assets
App Icon Dimensions and a Brief History of Graphics
Asset Catalogue Compiler Warning
Run and Test Your App!
Sideloading in iOS
What is Sideloading and How Can You Get Your App onto Your iPhone?
A Note About Sideloading and Permissions
How to Sideload Your App using Xcode
[Optional] How to Get a Professional Apple Developer Account
Coding Challenge #1 - Using Interface Builder in Xcode
What are Coding Challenges?
What You Will Create by the End of this Challenge
What is GitHub and How to Download the Stub Projects
Download the Project Stub Here
Step 1 - Add a UILabel
Step 2 - Add and Arrange the ImageView
Step 3 - Design your App to your Heart's Content
Show Off Your Work!
Build a iOS Dice App to Learn Swift Programming Basics
What You'll Make by the End of This Module
Download the Pre-Prepared Image Assets Here
How to Design Your App
Linking Design with Code
[Common Errors] IBOutlets/IBActions Debugging
How to Create Randomisation in Swift
A Note About Playgrounds
Data Types, Constants and Variables
How to Solve the Error: "The Maximum Number of Provisioning Profiles Reached"
Learn About Arrays in Swift and Programmatically Update the Display
[How to Become a Better Programmer] The DRY Principle
How to Add Motion Detection in to Your App
Download the Completed App Project
Coding Challenge #2 - Swift Data Types, Variables and Arrays
What You'll Build in this Coding Challenge
Step 1 - Create a New Xcode Project
Step 2 - Download the Image Asset's We've Already Prepared for You
Step 3 - Add App Icons to Your Project
Step 4 - Add the 8 Ball Images
Step 5 - Setup the Canvas
Step 6 - Design the App in Interface Builder
Step 7 - Link the Design with Code
Step 8 - Make the Ball Image Change with Your Code
Step 9 - Make a Method
Step 10 - Add Shake Gesture Detection
If You Get Stuck...
Optional: Magic 8 Ball Solution Walk Through
Programming in Swift 4 for Beginners [Using Swift Playgrounds]
Introduction to the Programming Modules
Comments, Print Statements and Debug Console
Optional Review: Data Types, Constants and Variables
Swift Functions: Part 1 - The Simple Function
Swift Functions: Part 2 - Functions with Inputs
Swift Functions Part 3 - Functions with Outputs
Control Flow with Conditional Statements in Swift (IF/ELSE)
Download the Completed Swift Playgrounds
[Challenge] Make a BMI Calculator in Swift Playgrounds
Optional: BMI Calculator Challenge Solution
Introduction to Loops in Swift - The For In loop
Using Loops in Your Program
Optional: A Brain Teaser with Loops and the Fibonacci Sequence
Apple iOS APIs - Make a Music App
What You'll Make by the End of This Module
Download the Skeleton Project
How to Use Tags in the Storyboards
How to Use the Apple Documentation to Tap into Any iPhone Capability You Want
The Swift 4 Programming Language Guide from Apple
Incorporate AVFoundation to Play Sound
Error Catching in Swift 4 - Do, Catch and Try
Create a Method to Contain the Sound Playing Functionality
[Common Swift Errors] "Index Out of Range" and How to Debug it
Make the App Play a Different Sound for Each Button
The Importance of "Scope" in Programming
Download the Completed App Project
The Model-View-Controller (MVC) Design Pattern - Make a Quiz App
What You'll Make by the End of This Module
Download the Skeleton Project Here
Set up the Project
What is a Property List (.plist)?
Let's Create a Data Model
Further Reading
Object-Oriented Programming - What are Objects and Classes?
Object-Oriented Programming (OOP) a Quick Note from Steve Jobs
Creating the Question Bank Class
[ELI5] The Model View Controller (MVC) Design Pattern - Explain Like I'm 5
Initialise the First Question
How to Progress Through the Question Bank
[Debugging Practice] Using the Xcode Debug Console
How to Implement a UIAlertController and Show a Popup to the User
A High Level Overview of How Our App Works
How to Track Progress and Score
How to Incorporate Objective-C Code in to Swift
Background on the Questions
Download the Completed App Project
Coding Challenge #3 - Control Flow - Build a Story App Like Lifeline
What You'll Build in This Coding Challenge
A Choose Your Own Adventure Game
Step 1 - Download the Skeleton Project
Step 2 - Make a Note of the Tag Properties
Step 3 - Set up the Introductory Screen
Step 4 - Take the Story One Step Further
Step 5 - Keeping Track of State
Step 6- Use Comparators to Let the User Progress Through the Game
Optional: Destini Solution Walk Through
iOS Auto Layout and Setting Constraints
Why Do We Need Auto Layout?
Positioning UI Elements Programmatically
The Theory Behind Auto Layout
Download the Starting Project Here
Auto Layout in Practice - Setting Constraints
[Challenge] Use What You Just Learnt to Practice Auto Layout
Download the Starter Project Here
Optional: Auto Layout Challenge Solution
New! Auto Layout Using Stack Views
Programming in Swift 4 for Intermediates
Classes and Objects
Creating a New Class from Scratch
Creating Enums in Swift
How to Create an Object from a Class
Class Initialization
Designated and Convenience Initializers
Creating a Method
Class Inheritance - The Theory
How to Override an Inherited Method
Class Inheritance - Putting it into Practice
What are Swift Optionals?!?!
Optionals Explained
Cocoapods, GPS, APIs, REST and Getting Web Content - Weather App
What You'll Make by the End of This Module
Download the Skeleton Project Here
Setting up the Skeleton Project
Sign Up for a Free API Key
What are Cocoapods and Why Do We Need Them?
Install and Setup Cocoapods on Your System
Troubleshooting Cocoapods Installation
Installing New Pods in Your Xcode Project
Fix for Those with a Version of Cocoapods Below 1.0.1
Completing the Pod Installation Process
No Such Module Error
Setting up the Location Manager to Get GPS Data from the iPhone
Asking the User for Location Permissions
Tapping into the GPS
What is Delegation?
Swift Dictionaries
What are APIs?
Networking with Alamofire
Networking & REST Explained
What is JSON and How to Parse it
Create a Weather Data Model
Update the User Interface
Creating and Using Segues in Xcode
Using Delegates and Protocols in iOS App Development
How to Pass Data Between View Controllers
Delegates and Protocols Explained
Request Weather Data Based on City Name
Download the Completed App Project
The Command Line and Terminal
Introduction to the Command Line
Command Line Shortcuts
Directory and File Manipulation Using the Command Line + Bonus
Coding Challenge #4 - Cocoapods, REST, APIs - Build a Bitcoin Price Tracker
What You'll Build by the End of This Coding Challenge
Step 1 - Check out the Skeleton Project
How to Set up and Use the UIPicker Class
Step 2 - Construct the API URL
Step 3 - Setup Your Cocoapods for this Project
Step 4 - Make Networking Calls
Step 5 - Parse the JSON Data
Step 6 - Update the User Interface
Step 7 - Are We Rich Yet?
l: Bitcoin Challenge Solution
Cloud Database, iOS Animations and Advanced Swift - Make a WhatsApp Clone
A Note About Firebase Version 4
What You Will Make
What is Firebase?
Download the Skeleton Project
Register for an Account on Firebase
Set Up Firebase for Development
A Note About ProgressHUD
A Note About Potential Issues You Might Encounter
Saving Data to Firebase
Let's Register Some Users to our App
Swift Closures [Advanced Swift]
The Event-Driven Nature of Apps
What are Completion Handlers and How Do They Work?
How Do Navigation Controllers Work and How do You Create Them?
Let's Code Up the Login Screen
What are TableViews and How to Set One Up?
Making a Custom Message Class
A Note About Lecture 190
Learn About UI Animations in iOS and Make Our Own
Let's Send Some Messages!
Observing for Database Changes
Bug Fix - Where's the Historical Message Data?
Update the Security Setting of Your Database
Let's Improve the UX - Add a Progress Spinner
Improving the UI - Differentiating Between Different Users
Download the Completed App Project
Firebase Version 3
A Note About Firebase Version 3
What You'll Make by the End of This Module
What is Firebase?
Download the Skeleton Project
Register for a Free Account on Google Firebase
Set up Firebase for Development
Xcode 9 Bug
Saving Data to Our Own Cloud Database
Let's Register Some Users to Our App
An Overview of Our App
Swift Closures
The Event Driven Nature of Mobile Apps
What are Completion Handlers and How Do They Work?
The Navigation Controller in iOS
How to Use the Swift Guard Statement
Let's Code Up the Login Screen
iOS Table Views and How to Properly Set One Up
Making a Custom Message Class
UI Animations in iOS and How to Make Our Own
Let's Send Some Messages
Observing for Real-Time Database Changes
[Bug Fix] Where are the Historical Messages?
Update the Security Settings for Your Database Before Your Deploy
Let's Improve the User Experience (UX) of Our App
Let's Improve the User Interface (UI)
Download the Completed App Project
Git, GitHub and Version Control
Introduction to Version Control and Git
Version Control Using Git and the Command Line
GitHub and Remote Repositories
Gitignore
Cloning
Branching and Merging
Using Git and GitHub in Xcode 9
Forking and Pull Requests
Core Data, Realm, User Defaults - Learn Persistent Local Data Storage - Todoey
The Clear app Clone that You'll Build By the End of This Module
Subclassing a UITableViewController
TableView Delegate Methods and Accessories
Creating a Textfield Inside UIAlert to Add New Items
Why Do We Need Persistent Local Data Storage?
Persistent Local Data Storage Using UserDefaults
UserDefaults Explained
[Advanced Swift] The Swift Singleton Object
Creating a Custom Data Model
[Advanced Swift] The Swift Ternary Operator
Restructuring Our App with MVC
The Concept of iOS Sandboxing
Encoding Data with NSCoder
Decoding Data with NSCoder
Introduction to Databases
How to Setup and Configure Core Data
How to Save Data with Core Data (Create in CRUD)
How to View Your SQLite Database Backend for Core Data
Core Data Fundamentals
Reading Data from Core Data (Read in CRUD)
Updating Data with Core Data (Update in CRUD)
Removing Data from Core Data (Delete in CRUD)
How to Implement a UISearchBar and Querying with Core Data
How to Go Back to the Original List?
How to Create Relationship Graphs in Core Data
[Solution to Challenge] Setting Up CategoryViewController
Adding the Delegate Method
Introduction to Realm
How to Save Data Using Realm (Create in CRUD)
Fetching Data from Realm (Read in CRUD)
Updating Data with Realm (Update in CRUD)
Removing Data from Realm (Delete in CRUD)
Querying Data Using Realm
Review of How Our App Uses Realm for Data Persistence
Making Our Cells Swipeable
Inheriting from SwipeTableViewController
[Solution to Challenge] Inheriting from SwipeTableViewController
Adding Colour to Our App
[Solution to Challenge] Persisting the Colour Property
Creating Gradient Flow Cells
Updating the UI of the Navigation Bar
The Completed App Project
Introduction to Machine Learning
Introduction to Machine Learning
Supervised Learning
Unsupervised Learning
Reinforcement Learning
iOS 11 - CoreML - How to Incorporate Machine Learning into Your iOS Apps
A Quick Note About Xcode and iOS Versions
What is CoreML?
What we'll be making
How to Import the Image Recognition Model & Enable Camera Functionality
Getting Image Recognition Results Back from Our V3 Model
Hotdog or Not Hotdog?
Download the Completed App Project
[Optional Bonus Project] Machine Learning Using IBM Watson
What You'll Make by the End of This Module
A Note About The Next Lecture
How to Install and Use Carthage as a Dependency Manager
Carthage Installation Links
How to Implement the Camera and Photo Library Functionality in iOS
How Use A Pre-Trained Neural Net from IBM to Classify Any Image
How to Process the Data You Get Back from IBM Bluemix
Let's Beautify Our App and Make it Look Like the Real Deal
Download the Completed App Project
iOS 11 - Advanced CoreML - How to Convert Pre-Trained Models Using CoreML Tools
What we'll be making
Installing CoremlTools using Python PIP
Converting a Caffe Model into MLModel
[Challenge] - Set up a UIImagePickerController
[Solution] - Setting up a UIImagePickerController
[Challenge] Getting Classifications from Our Model
[Solution] Getting Classifications from our Model
[Challenge] Adding Cocoapods to Our Project
[Solution] Adding Cocoapods to Our Project
[Challenge] Making HTTP GET requests to Wikipedia using Alamofire and REST
[Solution] Making HTTP GET requests to Wikipedia using Alamofire and REST
[Challenge] Parsing the JSON Result using SwiftyJSON
[Solution] Parsing the JSON Result using SwiftyJSON
Displaying Images From a URL using SDWebImage
[Bonus Lesson] Creating the App Icon From Scratch and Styling the App
Download the Completed App Project
iOS 11 - ARKit - How to Make Augmented Reality Apps in iOS
ARKit Device Compatibility
Introduction to Augmented Reality and ARKit
How to Setup and Configure Your Project for AR
How to Create a 3D Object in Augmented Reality
Bring the Moon into Your Living Room Using AR
How to Find and Import 3D Models for AR
Update to ARKit Syntax
How to Detect Horizontal Planes in the Real World
How to Detect Touch on Real World 3D Objects
How to Place Our Dice in 3D Using Touch
How to Animate 3D Objects in AR
How to Animate and Roll all the 3D Dice at Once
How to Remove Our 3D Objects from the AR Scene
[Optional Lesson] Refactoring Our Code for Better Readability
Download the Completed App Project
[Bonus Project 2] - Make an Augmented Reality Pokemon Go app Using Vuforia
Install Unity 5
Setting Up Vuforia and Unity 5
Conjuring Your Pikachu in Augmented Reality
iOS 11 - Advanced ARKit - How to Measure Real World Dimensions in an ARKit app
What We'll Make By the End of This Module
Adding the Start and End Measuring Points in 3D
A Note About The Next Lecture
Measuring the Distance in AR
Creating 3D Text to Display in AR
Enabling New Measurements
Download the Completed App Project
How to Submit Your App to the App Store
How to Publish Your App on to the App Store
Resources to Check Out When You're Ready to Publish
Useful Tools to Help You with App Submissions
Next Steps
Where to Go From Here?
Resources
The Complete App Design Course
Introduction to App Design
Why Design is Important for an App Entrepreneur
Designer vs. Non-Designer Thinking
Colour Theory
Understanding the Mood of Your Colour Palette
How to Combine Colours to Create Colour Palettes
Tools for Designing with Colour
Further Reading on Designing with Colour
Typography
Introduction to Typography
The Serif Type Family - Origins and Use
The Sans-Serif Type Family - Origins and Use
How Typography Determines Readability
How to Combine Fonts Like a Pro
Further Reading on Typography
The Fundamentals of User Interface (UI) Design for Mobile
What is User Interface (UI) Design?
The Tour Guide Approach to UI Design
The Importance of Alignment
What is Good Practice in Interaction Design
Colour in User Interface Design
The Many Ways of Designing Text Overlays
How to Be an Attention Architect
Further Reading on User Interface Design
The Fundamentals of User Experience (UX) Design for Mobile
What is User Experience (UX) Design?
Usability
Asking for Permissions
User Profiling
Form vs. Function
Consistency
Simplicity
Don't Make Me Think
Onboarding
Idiot Boxes
Further Reading on User Experience Design
Designing for IOS vs. Android - What are the Important Differences?
Android vs. iOS Design
Navigation
The Devil is in the Details
Differences in Icon Design
Flat Design vs. Material Design
Differences in Establishing Visual Hierarchy
iOS and Android Design Guidelines
A Step-By-Step Guide to a Professional Mobile Designer's Workflow
Step1 - Design Patterns and Colour Palettes
Where to Find Design Patterns and Colour Palettes
Step 2 - How to Create a User Flow Diagram
Step 3 - How to Create Wireframes
Wireframing Resources
Step 4 - How to Create Professional Mockups
Tools for Creating Mockups
How to Use Sketch to Create Mockups
[Optional] Watch me Create a Mock up Using Sketch
How to Use Canva to Create Mockups
Your Turn to Create Your Own Mockups
Tools and Resources for Creating Mockups
Step 5 - How to Create an Animated App Prototype
Tools and Resources for Creating Prototypes
Prototyping with Keynote
Prototyping with Marvel
Your Turn to Create a Prototype
Design Resources
Where to Find Free-For-Commercial-Use Image Assets
Where to Find Free-For-Commercial-Use Icons
How to Keep Designing and Improving
The Complete App Marketing Course - How to Make Money From Your Apps
The Importance of App Marketing
The Fallacy of Build it and They Will Come
Idea Validation - Save Yourself Time and Money
The Importance of Idea Validation
1. The Simplest Way of Validating Your Idea - The Starbucks Method
2. Using Google Trends to Estimate the Size of Your Market
3. The Landing Page Validation Method
How to Create a Landing Page Website in Less than an Hour
4. Creating a Minimum Viable Product
5. Using Crowd-funding to Validate and Fund Your Idea
App Monetisation Methods - How to Make Money From Your App
How to Monetise Your App on iOS vs. Android
When You Should Create a Paid App
When to use In-App Advertisements
How You Thought About These Alternative Monetisation Models?
How to Optimise Your App Store Listing
How to Get an App icon Designed without Breaking the Bank
Split Testing for Super Success
What Makes a Good App Icon?
The Dos and Don'ts of Making App Screenshots
Tools for Building Screenshots
Growth Hacking Techniques for App Downloads
Your First 1000 Customers
Building an Email List
The All Important Landing Page
Blogging Your Way to Success
Content Marketing for App Downloads
How to Successfully Launch on Product Hunt
How to Launch on Beta List
How to Launch on Hacker News
If At First You Don't Succeed...
Cross Promotion
Social Referrals and Social Queuing
How to Make Social Media Work for You
How to Get Press Coverage for Your App
Do I Need a PR Agency?
Not All Press is Created Equal
How to Craft Your Story
How to Craft Your Pitch
How to Figure Out Which Journalists to Pitch
How to Find Anyone's Email Address
How to Pitch a Journalist
Just-Add-Water Journalist Pitch Email
Establishing a Relationship with a Journalist
What if You Still Can't Get Anyone to Write About You?
Final Tips on Getting Press
How to Get Your App Featured on the App Store
How to Get Featured on the App Store?
"Only on the App Store"
Work with the Corporate Mindset
Native vs. Cross-Platform Apps
Tips and Tricks for Getting Featured
App Store Optimisation - How to Rank Higher on the App Store Search Algorithm
What is App Store Optimisation (ASO)?
Top Tips to Optimise Your App Store Listing
My Complete ASO Workflow
Using Apple Search Ads as a Research Tool
Early vs. Late Game Strategies
Differences Between Google Play and Apple App Store
The Right Way of Using Paid Advertising to Drive App Downloads
When to use Paid Advertising or App Marketing
Always Test Before You Advertise
Which Platform to Advertise On?
How Much Does it Cost?
How to Setup Your Facebook Ad
Use Your Competitors' Ad Budget
Where Can I Find More Customers?
One Weird Trick to Get More Money from Apple
App Store Reviews and Ratings
How to Get More 5 Star Ratings and Reviews
Use This Free Tools to Monitor Your App Reviews
How to Use App Analytics to Increase User Retention
How to use App Analytics to Increase User Retention
White Hat vs. Black Hat Methods of Getting More App Downloads and Revenue
White Hat Techniques
Black Hat Techniques
Bonus: How to Build Your App Showcase Website
A 5 Second Way of Building a Web Page for Your iOS App
How to Use Bootstrap to Build Your App Showcase Website
Your Turn
It's Time to Work Out Your Marketing Strategy
Monthly Student-Built App Showcase
Ask Me Anything Series
Ask Me Anything - Questions for Angela - Episode 1
Ask Me Anything - Questions for Angela - Episode 2
Ask Me Anything - Questions for Angela - Episode 3