# iOS Quickstart Tutorial
In this part you will learn how to setup SDK in android platform step by step. By doing these steps you will be able to make an internet call between two android devices.
# 0. Prerequisites
- Apple Developer Account
- HyperRTC Account
- NodeJS & NPM
- Two iOS Devices or Simulators
# 1. Creating an application in HyperRTC
At first, you need to make an application. Look at Applications>Create in Kavenegar panel. Then save the received
# 2. Creating an application in Apple Developer
Follow the following video to create application.
Enter the Bundle Id and Application Name.
# 3. Creating a certificate to send push notification
HyperRTC internet calling service development kit, uses the Push Kit service to receive calls.
If you want your users receive incoming calls, you need to create a VoIP Certificate for your app.
You can separately create specific certificate to VoIP, for your call Push Notification (VoIP Certificate Services) or use Apple Push Notification service SSL (Sandbox & Production), which allows you to send any Push Notification.
After creating certificate, you will have a file with "cer" prefix.
In the next step, the "cer" file should be converted to p12, which we will need it to send Push Notification:
# 4. Running Back-End sample code
To implement the Internet calling service, you need to do some parts of the work at Back-End:
- Call making through HyperRTC Rest API
- Sending push notification
- User Authorization
To launch Back-End sample code follow the following steps:
- Get the Back-End sample code from the following path :
Transfer the P12 Certificate file that received from the previous step, to the main branch of the Back-End project.
To run the project, you need to initialize the following parameters :
backend:kavenegar-api-token: Kavenegar API-Token you received right after creating the app
backend:apn-certificate-file: The path of P12 certificate file that received from the previous step
backend:apn-certificate-password: p12 Certificate file’s password
backend:apn-topic: The project’s BundleId address
For example by run the following command:
npm install && npm start -s --backend:kavenegar-api-token=KAVENEGAR_CALL_TOKEN --backend:apn-certificate-file=./YOUR_CERTIFICATE_FILE.cert --backend:apn-certificate-password=YOUR_CERTIFICATE_PASSWORD --backend:apn-topic=APP_BUNDLE_ID
You will get the following output:
Kavenegar Backend Sample is listening on port 3000 [http://192.168.1.189:3000]
If you get the same message, the settings are successful and do the next step. 👌
# 4. Running iOS Sample Application
- Get the sample code from the following link :
Then open the project by XCode 9 and higher.
After you get the code, run the following command in the main branch of the project:
carthage update --platform ios
- Open the file AppDelegate.swift and insert the Back-End Public address you received from the previous step.
import UIKit import KavenegarCall var backendApiPath = "http://192.168.1.189:3000"
- Go to the project setting page and set the project Bundle Identifier matching with your Certificate file.
# 5. Testing
After doing all the mentioned steps, you can make Internet calls between two Ios devices.
To do this, run the iOS application on 2 devices or simulators.
For example, on the first device login with the username Mohsen and on the second device with the username Hadi.
If both are successfully logged in, type other user's username in one of the devices and click the call button.
iOS SDK Documentation → REST API Documentation →