SlideShare a Scribd company logo
IOS Apps development training
Introducing an IOS
● iOS is the operating system that runs on iPad, iPhone, and iPod touch
devices.
● The operating system manages the device hardware and provides the
technologies required to implement native apps.
● The operating system also ships with various system apps, such as
Phone, Mail, and Safari, that provide standard system services to the
user.
● The iOS Software Development Kit (SDK) contains the tools and
interfaces needed to develop, install, run, and test native apps that
appear on an iOS device’s Home screen.
● Native apps are built using the iOS system frameworks and
Objective-C, Swift language and run directly on iOS.
● They reside next to other system apps, and both the app and any user
data is synced to the user’s computer through iTunes.
Developer Certificate
● Apple Developer Program membership is required to request,
download, and use signing certificates issued by Apple.
● You must also be the Team Agent or an admin of your development
team to request distribution certificates used for submitting apps to the
App Store or Mac App Store.
● In most cases, Xcode is the preferred method to request and install
digital certificates for iOS and OS X.
● However, to request certificates for the Apple Push Notification
service, Passbook, Mobile Device Management (MDM), and Safari
extensions, you will need to request and download them from
Certificates, Identifiers & Profiles in your account on the developer
website.
Steps for creating developer certificate
● Go to: http://developer.apple.com/programs/ios and click on
"Enroll Now".
● Click "Continue"
● Select option to create new account under New Apple Developer
and on the following screen choose to sign up as an individual.
● Complete the personal profile information.
● Follow the instructions to complete your purchase. You will
receive a confirmation email at that time.
● About 24 hours later, you will receive an activation email from
Apple. Your Developer Account is not ready until after you click
the link inside that email!
● Sign into Apple's Member Center with your Apple ID here:
https://developer.apple.com/membercenter/index.action.
Certificate Signing Request (CSR)
● In public key infrastructure (PKI) systems, a certificate signing
request (also CSR or certification request) is a message sent from
an applicant to a certificate authority in order to apply for a
digital identity certificate.
Steps for Install CSR
● Open Keychain Access on your Mac (located in
Applications/Utilities).
● Open Preferences and click Certificates.
● Choose Keychain Access > Certificate Assistant > Request a
Certificate From a Certificate Authority.
● Select the options “Saved to disk” and “Let me specify key pair
information” and click Continue.
● Specify a filename and click Save.
Provisioning profile
● A provisioning profile is a collection of digital entities that
uniquely ties developers and devices to an authorized iPhone
Development Team and enables a device to be used for testing.
● A Development Provisioning Profile must be installed on each
device on which you wish to run your application code.
Two types of Provisioning profile
● Development Provisioning profile
● Distribution Provisioning profile
Creating Development profile
● Sign in to developer.apple.com/account, and click Certificates, IDs
& Profiles.
● In the drop down menu in the top left corner, verify that iOS,
tvOS, watchOS is selected.
● Select provisioning profile, click +
● Select iOS app development and click continue.
● Select an App id to associate with the provisioning profile and
click continue.
● Select one or more devices to include in the provisioning profile
and click continue.
● Provide name for the profile and click continue.
● Click download and install the provisioning profile.
App Id and Bundle Id
● An App ID is a two-part string used to identify one or
more apps from a single development team.
● A bundle identifier lets iOS and macOS recognise any updates to
your app. Your bundle ID must be registered with Apple and be
unique to your app. Bundle IDs are app-type specific (either iOS or
macOS). The same bundle ID cannot be used for both iOS and
macOS apps.
Create App Id and Bundle Id
● Click the Add button (+) in the upper-right corner.
● Enter a name or description for the App ID in the Description field.
● Select Explicit App ID and enter the app’s bundle ID in the Bundle ID field. An
explicit App ID exactly matches the bundle ID of an app you’re building :-
for example,com.example.ajohnson.
● Select the corresponding checkboxes to enable the app services you want to use.
● Click Continue, Review the registration information, click Register and Click
Done.
Distribution Provisioning profile
● Sign in to developer.apple.com/account, and click Certificates,
IDs & Profiles.
● Under Provisioning Profiles, select All
● Click the Add button (+) in the upper-right corner.
● Select Ad Hoc as the distribution method, and click Continue.
● Choose the App ID you used for development, which matches
your bundle ID, from the App ID pop-up menu, and click
Continue.
● Select the distribution certificate you want to use, and click
Continue.
● Select the devices you want to use for testing, and click Continue.
● Enter a profile name, and click Continue.
● Wait while your developer account generates the provisioning
profile and Click Done.
Swift Language
• Swift is a general-purpose, multi-paradigm, compiled
programming language developed by Apple Inc. for iOS, macOS,
watchOS, tvOS, and Linux. Swift is designed to work with Apple's
Cocoa and Cocoa Touch frameworks and the large body of existing
Objective-C (ObjC) code written for Apple products.
• Development of Swift started in July 2010 by Chris Lattner, with the
eventual collaboration of many other programmers at Apple.
• Swift took language ideas
"from ObjectiveC, Rust, Haskell, Ruby, Python, C#, CLU, etc.
• June 2, 2014, the Apple Worldwide Developers Conference (WWDC)
application became the first publicly released app written in Swift.
UI Controls in IOS
• Text Fields - It is an UI element that enables the app to get user input.
• Buttons - It is used for handling user actions.
• Label - It is used for displaying static content.
• Toolbar - It is used if we want to manipulate something based on our
current view.
• Status Bar - It displays the key information of device.
• Navigation Bar - It contains the navigation buttons of a navigation
controller, which is a stack of view controllers which can be pushed and
popped.
• Table View - It is used for displaying scrollable list of data in
multiple rows and sections.
• Split View - It is used for displaying two panes with master pane
controlling the information on detail pane.
• Text View - It is used for diplaying scrollable list of text information
that is optionally editable.
• View Transition - It explains the various view transitions between
views.
• Pickers - It is used for displaying for selecting a specific data from a
How to create a project
• Open a xcode.
• Click File > New > Project in Menu bar.
• Select single view app in template and click next.
• Enter a project name, Organisation name, Organisation Identifier and
choose language then click next.
• Project store somewhere in our machine.
Basics in Swift
Constants and Variables
• Constants and variables associate a name with a value of a particular
type.
• The value of a constant can’t be changed once it’s set, whereas
a variable can be set to a different value in the future.
Declaring Constants and Variables
• let maximumNumberOfLoginAttempts = 10
• var currentLoginAttempt = 0
• var x = 0.0, y = 0.0, z = 0.0
• var welcomeMessage: String
welcomeMessage = “Hello"
Printing
print(friendlyWelcome)
print("The current value of friendlyWelcome is (friendlyWelcome)”)
Int
let meaningOfLife = 42
Boolean
let orangesAreOrange = true
let turnipsAreDelicious = false
String
let someString = "Some string literal value”
Array
var shoppingList = ["Eggs", “Milk"]
var shoppingList: [String] = ["Eggs", "Milk"]
Hello World!
Place a button in story board.
Assigning a button function as “IBAction func declare()”
Inside that button function, placed the alert view.
@IBAction func showMessage()
let alertController = UIAlertController(title: "Welcome to My First
App",message: "Hello World", preferredStyle:
UIAlertControllerStyle.alert)alertController.addAction(UIAlertAction(
title: "OK", style: UIAlertActionStyle.default, handler: nil))
present(alertController, animated: true, completion: nil)
}
UITableView
• Tableview controller placing in story board.
• Place tableview cell over the tableview.
• Declare the tableview in view controller file.
class ViewController: UIViewController, UITableViewDelegate,
UITableViewDataSource {
let animals: [String] = ["Horse", "Cow", "Camel", "Sheep", “Goat”]
let cellReuseIdentifier = “cell"
@IBOutlet var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.register(UITableViewCell.self,
forCellReuseIdentifier: cellReuseIdentifier)
tableView.delegate = self
tableView.dataSource = self
}
func tableView(_ tableView: UITableView, numberOfRowsInSection
section: Int) -> Int {
return self.animals.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath:
IndexPath) -> UITableViewCell {
let cell:UITableViewCell =
self.tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier) as
UITableViewCell!
cell.textLabel?.text = self.animals[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath:
IndexPath) {
print("You tapped cell number (indexPath.row).”)
}
}
Soap API
In Soap API we using delegate methods for Parsing data.
Soap API like a XML format.
Delegate methods for NSURLConnection:
func connection(connection: NSURLConnection!,didReceiveResponse response:
NSURLResponse!) {
}
func connection(connection: NSURLConnection!, didReceiveData data: NSData!) {
}
func connection(connection: NSURLConnection, didFailWithError error: NSError)
{
}
func connectionDidFinishLoading(connection: NSURLConnection!) {
}
Delegate methods for Parser:
func parser(parser: NSXMLParser, didStartElement elementName:
String, namespaceURI: String?, qualifiedName qName: String?, attributes
attributeDict: [String : String]) {
}
func parser(parser: NSXMLParser, foundCharacters string: String) {
}
func parser(_ parser: XMLParser, didEndElement elementName: String,
namespaceURI: String?, qualifiedName qName: String?){
}
RestAPI
JavaScript Object Notation, or JSON for short, is a
common way to transmit data to and from web
services. It's simple to use and human-readable, which
is why it's so incredibly popular.
let parsedData = try
JSONSerialization.jsonObject(with: data!) as?
[String:Any] {
}
Submitting Apps in Apps store
• App id
• Distribution Certificate
• Provisioning Profile
• Build Settings
• Deployment Target
• Icons
• Screenshots
• Submission Preparation in Basic Information
• Price and Availability
• Metadata
• Uploading the App Binary
• Waiting
App ID
Every application needs an App ID or application identifier.
Distribution Certificate
To submit an application to the App Store, you need to create an iOS provisioning
profile for distribution
Provisioning Profile
Create an iOS provisioning profile for distributing your application through the App
Store.
Build Settings
With the App ID, distribution certificate, and provisioning profile in place, it is time
to configure your target's build settings in Xcode
Deployment Target
The minimum version of the operating system that the application can run on.
Icons
Need to make sure that your application ships with the correct sizes of the artwork.
Screenshots
• Each application can have up to five screenshots and three previews,
and you must provide at least one.
• If you are developing a universal application, then you need to provide
separate screenshots for each device.
Basic Information in Submission Preparation
• The App Name, which needs to be unique, is the name of your
application as it will appear in the App Store.
• The SKU Number is a unique string that identifies your application. I
usually use the application's bundle identifier.
• The last piece of information is the Bundle ID of your application.
Price and Availability
Apple works with price tiers so that you don't have to specify a price for
each country that Apple operates.
Uploading the App Binary
• To submit your app, you need to create an archive.
• You can only create an archive by building your application on
a generic device.
• If you select the iOS Simulator in the active scheme,
• you will notice that the Archive option in Xcode's Product menu is
grayed out.
• Connect an iOS device to your Mac, select it in the active scheme, and
select Archive from Xcode's Product menu.
• If all went well, you should now have an archive, and Xcode's
Organizer should automatically open and show you the archive you just
created.
• Select the archive from the list and click the Upload to App Store.
• Button on the right. The application binary is then uploaded to Apple's
servers.
Waiting
• If the submission process went without problems, your application's
status will change to Waiting for Review.
• It takes several days for Apple to review your app, and the time it takes
tends to fluctuate over time.
Thank You.

More Related Content

What's hot

An introduction to SQLAlchemy
An introduction to SQLAlchemyAn introduction to SQLAlchemy
An introduction to SQLAlchemy
mengukagan
 
Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans
Hitesh-Java
 
12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter
WSO2
 
Java Training | Java Tutorial for Beginners | Java Programming | Java Certifi...
Java Training | Java Tutorial for Beginners | Java Programming | Java Certifi...Java Training | Java Tutorial for Beginners | Java Programming | Java Certifi...
Java Training | Java Tutorial for Beginners | Java Programming | Java Certifi...
Edureka!
 
Developing iOS apps with Swift
Developing iOS apps with SwiftDeveloping iOS apps with Swift
Developing iOS apps with Swift
New Generation Applications
 
Core java
Core javaCore java
Core java
kasaragaddaslide
 
Testing with Spring: An Introduction
Testing with Spring: An IntroductionTesting with Spring: An Introduction
Testing with Spring: An Introduction
Sam Brannen
 
Bootiful Development with Spring Boot and React
Bootiful Development with Spring Boot and ReactBootiful Development with Spring Boot and React
Bootiful Development with Spring Boot and React
VMware Tanzu
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
Java Lover
 
Spring Boot Tutorial
Spring Boot TutorialSpring Boot Tutorial
Spring Boot Tutorial
Naphachara Rattanawilai
 
Introduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectIntroduction to angular with a simple but complete project
Introduction to angular with a simple but complete project
Jadson Santos
 
OpenGL ES EGL Spec&APIs
OpenGL ES EGL Spec&APIsOpenGL ES EGL Spec&APIs
OpenGL ES EGL Spec&APIs
Jungsoo Nam
 
Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming Language
Cihad Horuzoğlu
 
Automation Testing with KATALON Cucumber BDD
Automation Testing with KATALON Cucumber BDDAutomation Testing with KATALON Cucumber BDD
Automation Testing with KATALON Cucumber BDD
RapidValue
 
Java 8 Streams
Java 8 StreamsJava 8 Streams
Java 8 Streams
Manvendra Singh
 
Data Driven Testing
Data Driven TestingData Driven Testing
Data Driven TestingMaveryx
 
Quarkus - a next-generation Kubernetes Native Java framework
Quarkus - a next-generation Kubernetes Native Java frameworkQuarkus - a next-generation Kubernetes Native Java framework
Quarkus - a next-generation Kubernetes Native Java framework
SVDevOps
 

What's hot (20)

An introduction to SQLAlchemy
An introduction to SQLAlchemyAn introduction to SQLAlchemy
An introduction to SQLAlchemy
 
Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans
 
12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter
 
Java Training | Java Tutorial for Beginners | Java Programming | Java Certifi...
Java Training | Java Tutorial for Beginners | Java Programming | Java Certifi...Java Training | Java Tutorial for Beginners | Java Programming | Java Certifi...
Java Training | Java Tutorial for Beginners | Java Programming | Java Certifi...
 
Developing iOS apps with Swift
Developing iOS apps with SwiftDeveloping iOS apps with Swift
Developing iOS apps with Swift
 
Monkey talk
Monkey talkMonkey talk
Monkey talk
 
Core java
Core javaCore java
Core java
 
Testing with Spring: An Introduction
Testing with Spring: An IntroductionTesting with Spring: An Introduction
Testing with Spring: An Introduction
 
Bootiful Development with Spring Boot and React
Bootiful Development with Spring Boot and ReactBootiful Development with Spring Boot and React
Bootiful Development with Spring Boot and React
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
 
Spring Boot Tutorial
Spring Boot TutorialSpring Boot Tutorial
Spring Boot Tutorial
 
JDBC – Java Database Connectivity
JDBC – Java Database ConnectivityJDBC – Java Database Connectivity
JDBC – Java Database Connectivity
 
Introduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectIntroduction to angular with a simple but complete project
Introduction to angular with a simple but complete project
 
OpenGL ES EGL Spec&APIs
OpenGL ES EGL Spec&APIsOpenGL ES EGL Spec&APIs
OpenGL ES EGL Spec&APIs
 
Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming Language
 
Automation Testing with KATALON Cucumber BDD
Automation Testing with KATALON Cucumber BDDAutomation Testing with KATALON Cucumber BDD
Automation Testing with KATALON Cucumber BDD
 
Java 8 Streams
Java 8 StreamsJava 8 Streams
Java 8 Streams
 
Data Driven Testing
Data Driven TestingData Driven Testing
Data Driven Testing
 
Training On Angular Js
Training On Angular JsTraining On Angular Js
Training On Angular Js
 
Quarkus - a next-generation Kubernetes Native Java framework
Quarkus - a next-generation Kubernetes Native Java frameworkQuarkus - a next-generation Kubernetes Native Java framework
Quarkus - a next-generation Kubernetes Native Java framework
 

Similar to Ios development training presentation

iOS Distribution and App store pushing and more
iOS Distribution and App store pushing and moreiOS Distribution and App store pushing and more
iOS Distribution and App store pushing and more
Naga Harish M
 
How to submit ios app in Appstore
How to submit ios app in AppstoreHow to submit ios app in Appstore
How to submit ios app in Appstore
Nandini Gautam
 
iPhone first App Store submission
iPhone  first App Store submissioniPhone  first App Store submission
iPhone first App Store submission
Pragati Singh
 
How to build ios app
How to build ios appHow to build ios app
How to build ios app
Nishant Raj
 
Appium_set_up
Appium_set_upAppium_set_up
Appium_set_up
Mithilesh Singh
 
Hospital app project (how to upload app)
Hospital app project (how to upload app)Hospital app project (how to upload app)
Hospital app project (how to upload app)
MAHFUZ RAIHAN
 
How To Run/Test Flutter App On a Real Device?
How To Run/Test Flutter App On a Real Device?How To Run/Test Flutter App On a Real Device?
How To Run/Test Flutter App On a Real Device?
Flutter Agency
 
Flutter Android / iOS Build Preparation
Flutter Android / iOS Build PreparationFlutter Android / iOS Build Preparation
Flutter Android / iOS Build Preparation
9 series
 
12 simple steps to prepare your i os app for development and distribution (1)...
12 simple steps to prepare your i os app for development and distribution (1)...12 simple steps to prepare your i os app for development and distribution (1)...
12 simple steps to prepare your i os app for development and distribution (1)...
Katy Slemon
 
Swift to send Push Notifications with Parse Dashboard and
Swift to send Push Notifications with Parse Dashboard and Swift to send Push Notifications with Parse Dashboard and
Swift to send Push Notifications with Parse Dashboard and
George Batschinski
 
Push notifications with dashboard and swift
Push notifications with dashboard and swiftPush notifications with dashboard and swift
Push notifications with dashboard and swift
Charles Ramos
 
9.24.15 Aetna Ascend VSO Training Presentation
9.24.15 Aetna Ascend VSO Training Presentation9.24.15 Aetna Ascend VSO Training Presentation
9.24.15 Aetna Ascend VSO Training Presentation
BloomInsuranceAgency
 
201505 beena v0
201505 beena v0201505 beena v0
201505 beena v0
Mohamedcpcbma
 
StackLabs-DataDriven Labs - iPhone App Development Training in Mohali
StackLabs-DataDriven Labs - iPhone App Development  Training in MohaliStackLabs-DataDriven Labs - iPhone App Development  Training in Mohali
StackLabs-DataDriven Labs - iPhone App Development Training in Mohali
Arcadian Learning
 
Desarrollo AIR Mobile
Desarrollo AIR MobileDesarrollo AIR Mobile
Desarrollo AIR Mobile
Saúl Buentello
 
Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4
Manoj Ellappan
 
Firefox marketplace
Firefox marketplaceFirefox marketplace
Firefox marketplaceTina Verbo
 
Iphone development
Iphone developmentIphone development
Iphone development
Pragati Singh
 

Similar to Ios development training presentation (20)

iOS Distribution and App store pushing and more
iOS Distribution and App store pushing and moreiOS Distribution and App store pushing and more
iOS Distribution and App store pushing and more
 
push_notification
push_notificationpush_notification
push_notification
 
How to submit ios app in Appstore
How to submit ios app in AppstoreHow to submit ios app in Appstore
How to submit ios app in Appstore
 
iPhone first App Store submission
iPhone  first App Store submissioniPhone  first App Store submission
iPhone first App Store submission
 
How to build ios app
How to build ios appHow to build ios app
How to build ios app
 
Appium_set_up
Appium_set_upAppium_set_up
Appium_set_up
 
Hospital app project (how to upload app)
Hospital app project (how to upload app)Hospital app project (how to upload app)
Hospital app project (how to upload app)
 
How To Run/Test Flutter App On a Real Device?
How To Run/Test Flutter App On a Real Device?How To Run/Test Flutter App On a Real Device?
How To Run/Test Flutter App On a Real Device?
 
Flutter Android / iOS Build Preparation
Flutter Android / iOS Build PreparationFlutter Android / iOS Build Preparation
Flutter Android / iOS Build Preparation
 
12 simple steps to prepare your i os app for development and distribution (1)...
12 simple steps to prepare your i os app for development and distribution (1)...12 simple steps to prepare your i os app for development and distribution (1)...
12 simple steps to prepare your i os app for development and distribution (1)...
 
Swift to send Push Notifications with Parse Dashboard and
Swift to send Push Notifications with Parse Dashboard and Swift to send Push Notifications with Parse Dashboard and
Swift to send Push Notifications with Parse Dashboard and
 
Push notifications with dashboard and swift
Push notifications with dashboard and swiftPush notifications with dashboard and swift
Push notifications with dashboard and swift
 
9.24.15 Aetna Ascend VSO Training Presentation
9.24.15 Aetna Ascend VSO Training Presentation9.24.15 Aetna Ascend VSO Training Presentation
9.24.15 Aetna Ascend VSO Training Presentation
 
Provisioning Profile
Provisioning ProfileProvisioning Profile
Provisioning Profile
 
201505 beena v0
201505 beena v0201505 beena v0
201505 beena v0
 
StackLabs-DataDriven Labs - iPhone App Development Training in Mohali
StackLabs-DataDriven Labs - iPhone App Development  Training in MohaliStackLabs-DataDriven Labs - iPhone App Development  Training in Mohali
StackLabs-DataDriven Labs - iPhone App Development Training in Mohali
 
Desarrollo AIR Mobile
Desarrollo AIR MobileDesarrollo AIR Mobile
Desarrollo AIR Mobile
 
Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4
 
Firefox marketplace
Firefox marketplaceFirefox marketplace
Firefox marketplace
 
Iphone development
Iphone developmentIphone development
Iphone development
 

Ios development training presentation

  • 2. Introducing an IOS ● iOS is the operating system that runs on iPad, iPhone, and iPod touch devices. ● The operating system manages the device hardware and provides the technologies required to implement native apps. ● The operating system also ships with various system apps, such as Phone, Mail, and Safari, that provide standard system services to the user. ● The iOS Software Development Kit (SDK) contains the tools and interfaces needed to develop, install, run, and test native apps that appear on an iOS device’s Home screen. ● Native apps are built using the iOS system frameworks and Objective-C, Swift language and run directly on iOS. ● They reside next to other system apps, and both the app and any user data is synced to the user’s computer through iTunes.
  • 3. Developer Certificate ● Apple Developer Program membership is required to request, download, and use signing certificates issued by Apple. ● You must also be the Team Agent or an admin of your development team to request distribution certificates used for submitting apps to the App Store or Mac App Store. ● In most cases, Xcode is the preferred method to request and install digital certificates for iOS and OS X. ● However, to request certificates for the Apple Push Notification service, Passbook, Mobile Device Management (MDM), and Safari extensions, you will need to request and download them from Certificates, Identifiers & Profiles in your account on the developer website.
  • 4. Steps for creating developer certificate ● Go to: http://developer.apple.com/programs/ios and click on "Enroll Now". ● Click "Continue" ● Select option to create new account under New Apple Developer and on the following screen choose to sign up as an individual. ● Complete the personal profile information. ● Follow the instructions to complete your purchase. You will receive a confirmation email at that time. ● About 24 hours later, you will receive an activation email from Apple. Your Developer Account is not ready until after you click the link inside that email! ● Sign into Apple's Member Center with your Apple ID here: https://developer.apple.com/membercenter/index.action.
  • 5. Certificate Signing Request (CSR) ● In public key infrastructure (PKI) systems, a certificate signing request (also CSR or certification request) is a message sent from an applicant to a certificate authority in order to apply for a digital identity certificate. Steps for Install CSR ● Open Keychain Access on your Mac (located in Applications/Utilities). ● Open Preferences and click Certificates. ● Choose Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority. ● Select the options “Saved to disk” and “Let me specify key pair information” and click Continue. ● Specify a filename and click Save.
  • 6. Provisioning profile ● A provisioning profile is a collection of digital entities that uniquely ties developers and devices to an authorized iPhone Development Team and enables a device to be used for testing. ● A Development Provisioning Profile must be installed on each device on which you wish to run your application code. Two types of Provisioning profile ● Development Provisioning profile ● Distribution Provisioning profile
  • 7. Creating Development profile ● Sign in to developer.apple.com/account, and click Certificates, IDs & Profiles. ● In the drop down menu in the top left corner, verify that iOS, tvOS, watchOS is selected. ● Select provisioning profile, click + ● Select iOS app development and click continue. ● Select an App id to associate with the provisioning profile and click continue. ● Select one or more devices to include in the provisioning profile and click continue. ● Provide name for the profile and click continue. ● Click download and install the provisioning profile.
  • 8. App Id and Bundle Id ● An App ID is a two-part string used to identify one or more apps from a single development team. ● A bundle identifier lets iOS and macOS recognise any updates to your app. Your bundle ID must be registered with Apple and be unique to your app. Bundle IDs are app-type specific (either iOS or macOS). The same bundle ID cannot be used for both iOS and macOS apps. Create App Id and Bundle Id ● Click the Add button (+) in the upper-right corner. ● Enter a name or description for the App ID in the Description field. ● Select Explicit App ID and enter the app’s bundle ID in the Bundle ID field. An explicit App ID exactly matches the bundle ID of an app you’re building :- for example,com.example.ajohnson. ● Select the corresponding checkboxes to enable the app services you want to use. ● Click Continue, Review the registration information, click Register and Click Done.
  • 9. Distribution Provisioning profile ● Sign in to developer.apple.com/account, and click Certificates, IDs & Profiles. ● Under Provisioning Profiles, select All ● Click the Add button (+) in the upper-right corner. ● Select Ad Hoc as the distribution method, and click Continue. ● Choose the App ID you used for development, which matches your bundle ID, from the App ID pop-up menu, and click Continue. ● Select the distribution certificate you want to use, and click Continue. ● Select the devices you want to use for testing, and click Continue. ● Enter a profile name, and click Continue. ● Wait while your developer account generates the provisioning profile and Click Done.
  • 10. Swift Language • Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS, and Linux. Swift is designed to work with Apple's Cocoa and Cocoa Touch frameworks and the large body of existing Objective-C (ObjC) code written for Apple products. • Development of Swift started in July 2010 by Chris Lattner, with the eventual collaboration of many other programmers at Apple. • Swift took language ideas "from ObjectiveC, Rust, Haskell, Ruby, Python, C#, CLU, etc. • June 2, 2014, the Apple Worldwide Developers Conference (WWDC) application became the first publicly released app written in Swift.
  • 11. UI Controls in IOS • Text Fields - It is an UI element that enables the app to get user input. • Buttons - It is used for handling user actions. • Label - It is used for displaying static content. • Toolbar - It is used if we want to manipulate something based on our current view. • Status Bar - It displays the key information of device. • Navigation Bar - It contains the navigation buttons of a navigation controller, which is a stack of view controllers which can be pushed and popped.
  • 12. • Table View - It is used for displaying scrollable list of data in multiple rows and sections. • Split View - It is used for displaying two panes with master pane controlling the information on detail pane. • Text View - It is used for diplaying scrollable list of text information that is optionally editable. • View Transition - It explains the various view transitions between views. • Pickers - It is used for displaying for selecting a specific data from a
  • 13. How to create a project • Open a xcode. • Click File > New > Project in Menu bar. • Select single view app in template and click next. • Enter a project name, Organisation name, Organisation Identifier and choose language then click next. • Project store somewhere in our machine.
  • 14. Basics in Swift Constants and Variables • Constants and variables associate a name with a value of a particular type. • The value of a constant can’t be changed once it’s set, whereas a variable can be set to a different value in the future. Declaring Constants and Variables • let maximumNumberOfLoginAttempts = 10 • var currentLoginAttempt = 0 • var x = 0.0, y = 0.0, z = 0.0 • var welcomeMessage: String welcomeMessage = “Hello"
  • 15. Printing print(friendlyWelcome) print("The current value of friendlyWelcome is (friendlyWelcome)”) Int let meaningOfLife = 42 Boolean let orangesAreOrange = true let turnipsAreDelicious = false String let someString = "Some string literal value” Array var shoppingList = ["Eggs", “Milk"] var shoppingList: [String] = ["Eggs", "Milk"]
  • 16. Hello World! Place a button in story board. Assigning a button function as “IBAction func declare()” Inside that button function, placed the alert view. @IBAction func showMessage() let alertController = UIAlertController(title: "Welcome to My First App",message: "Hello World", preferredStyle: UIAlertControllerStyle.alert)alertController.addAction(UIAlertAction( title: "OK", style: UIAlertActionStyle.default, handler: nil)) present(alertController, animated: true, completion: nil) }
  • 17. UITableView • Tableview controller placing in story board. • Place tableview cell over the tableview. • Declare the tableview in view controller file. class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { let animals: [String] = ["Horse", "Cow", "Camel", "Sheep", “Goat”] let cellReuseIdentifier = “cell" @IBOutlet var tableView: UITableView! override func viewDidLoad() { super.viewDidLoad() self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: cellReuseIdentifier) tableView.delegate = self tableView.dataSource = self }
  • 18. func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return self.animals.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell:UITableViewCell = self.tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier) as UITableViewCell! cell.textLabel?.text = self.animals[indexPath.row] return cell } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { print("You tapped cell number (indexPath.row).”) } }
  • 19. Soap API In Soap API we using delegate methods for Parsing data. Soap API like a XML format. Delegate methods for NSURLConnection: func connection(connection: NSURLConnection!,didReceiveResponse response: NSURLResponse!) { } func connection(connection: NSURLConnection!, didReceiveData data: NSData!) { } func connection(connection: NSURLConnection, didFailWithError error: NSError) { } func connectionDidFinishLoading(connection: NSURLConnection!) { }
  • 20. Delegate methods for Parser: func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String]) { } func parser(parser: NSXMLParser, foundCharacters string: String) { } func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?){ }
  • 21. RestAPI JavaScript Object Notation, or JSON for short, is a common way to transmit data to and from web services. It's simple to use and human-readable, which is why it's so incredibly popular. let parsedData = try JSONSerialization.jsonObject(with: data!) as? [String:Any] { }
  • 22. Submitting Apps in Apps store • App id • Distribution Certificate • Provisioning Profile • Build Settings • Deployment Target • Icons • Screenshots • Submission Preparation in Basic Information • Price and Availability • Metadata • Uploading the App Binary • Waiting
  • 23. App ID Every application needs an App ID or application identifier. Distribution Certificate To submit an application to the App Store, you need to create an iOS provisioning profile for distribution Provisioning Profile Create an iOS provisioning profile for distributing your application through the App Store. Build Settings With the App ID, distribution certificate, and provisioning profile in place, it is time to configure your target's build settings in Xcode Deployment Target The minimum version of the operating system that the application can run on. Icons Need to make sure that your application ships with the correct sizes of the artwork.
  • 24. Screenshots • Each application can have up to five screenshots and three previews, and you must provide at least one. • If you are developing a universal application, then you need to provide separate screenshots for each device. Basic Information in Submission Preparation • The App Name, which needs to be unique, is the name of your application as it will appear in the App Store. • The SKU Number is a unique string that identifies your application. I usually use the application's bundle identifier. • The last piece of information is the Bundle ID of your application. Price and Availability Apple works with price tiers so that you don't have to specify a price for each country that Apple operates.
  • 25. Uploading the App Binary • To submit your app, you need to create an archive. • You can only create an archive by building your application on a generic device. • If you select the iOS Simulator in the active scheme, • you will notice that the Archive option in Xcode's Product menu is grayed out. • Connect an iOS device to your Mac, select it in the active scheme, and select Archive from Xcode's Product menu. • If all went well, you should now have an archive, and Xcode's Organizer should automatically open and show you the archive you just created. • Select the archive from the list and click the Upload to App Store. • Button on the right. The application binary is then uploaded to Apple's servers.
  • 26. Waiting • If the submission process went without problems, your application's status will change to Waiting for Review. • It takes several days for Apple to review your app, and the time it takes tends to fluctuate over time.