Você está na página 1de 11

UNI-Ukshin Hoti

Seminar Essay

Theme: IOS

Mentor:
Prof.Sanela Lutvi

Student:
Raisa Nurkovi
Cimerke mi zjbne!
Prizren,2016

CONTENT:

Introduction....3
General Overview..4
IOS App Security...6
Home Screen on IOS8
Folders in IOS....9
IOS Processes..10
Literature11

INTRODUCTION
iOS is a mobile operating system developed and distributed by Apple
Inc. It was originally released in 2007 for the iPhone, iPod Touch, and Apple
TV. iOS is derived from OS X, with which it shares the Darwin foundation.
iOS is Apple's mobile version of the OS X operating system used in Apple
computers.
This tutorial has been designed for software programmers with a
need to understand the iPhone and iPad application development on iOS
using Objective C programming.
Before proceeding with this tutorial, you should have a basic
understanding of Computer Programming terminologies. A basic
understanding of any of the programming languages, especially Objective
C programming language, will help you learn the concepts of iOS
programming faster.
1

1 http://www.tutorialspoint.com/ios/ios_tutorial.pdf

General Overview
iOS, which was previously called iPhone OS, is a mobile operating system
developed by Apple Inc. Its first release was in 2007, which included
iPhone and iPod Touch. iPad (1st Generation) was released in April 2010
and iPad Mini was released in November 2012. The iOS devices get
evolved quite frequently and from experience, we find that at least one
version of iPhone and iPad is launched every year. Now, we have iphone5
launched which has its predecessors starting from iPhone, iPhone 3gs,
iPhone 4, iPhone 4s. Similarly, iPad has evolved from iPad (1 st Generation)
to iPad (4th Generation) and an additional iPad Mini version. The iOS SDK
has evolved from 1.0 to 6.0. iOS 6.0, the latest SDK is the only officially
supported version in Xcode 4.5 and higher. We have a rich Apple
documentation and we can find which methods and libraries can be used
based on our deployment target. In the current version of Xcode, well be
able to choose between deployment targets of iOS 4.3, 5.0 and 6.0. The
power of iOS can be felt with some of the following features provided as a
part of the device.
Maps
Siri
Facebook and Twitter
Multi-Touch
Accelerometer

GPS
High end processor
Camera
Safari
Powerful APIs
Game center
In-App Purchase
Reminders
Wide Range of gestures.

The number of users using iPhone/iPad has increased a great deal.


This creates the opportunity for developers to make money by creating
applications for iPhone and iPad the Apple's App Store.

IOS App Security

Apps are among the most critical elements of a modern mobile


security architecture. While apps provide amazing productivity benefits for
users, they also have the potential to negatively impact system security,
stability, and user data if theyre not handled properly. Because of this, iOS
provides layers of protection to ensure that apps are signed and verified,
and are sandboxed to protect user data. These elements provide a stable,
secure platform for apps, enabling thousands of developers to deliver
hundreds of thousands of apps on iOS without impacting system integrity.
And users can access these apps on their iOS devices without undue fear
of viruses, malware, or unauthorized attacks. App code signing Once the
iOS kernel has started, it controls which user processes and apps can be
run. To ensure that all apps come from a known and approved source and
have not been tampered with, iOS requires that all executable code be
signed using an Apple-issued certificate. Apps provided with the device, like
Mail and Safari, are signed by Apple. Third-party apps must also be
validated and signed using an Apple-issued certificate. Mandatory code
signing extends the concept of chain of trust from the OS to apps, and
prevents third-party apps from loading unsigned code resources or using
selfmodifying code. In order to develop and install apps on iOS devices,
developers must register with Apple and join the Apple Developer Program.
The real-world identity of each developer, whether an individual or a
business, is verified by Apple before their certificate is issued. This
certificate enables developers to sign apps and submit them to the App
Store for distribution. As a result, all apps in the App Store have been
submitted by an identifiable person or organization, serving as a deterrent
to the creation of malicious apps. They have also been reviewed by Apple
to ensure they operate as described and dont contain obvious bugs or
other problems. In addition to the technology already discussed, this
curation process gives customers confidence in the quality of the apps they
buy. iOS allows developers to embed frameworks inside of their apps,
2 http://www.tutorialspoint.com/ios/ios_tutorial.pdf

which can be used by the app itself or by extensions embedded within the
app. To protect the system and other apps from loading third-party code
inside of their address space, the system will perform a code signature
validation of all the dynamic libraries that a process links against at launch
time. This verification is accomplished through the team identifier (Team
ID), which is extracted from an Apple-issued certificate. A team identifier is
a 10-character alphanumeric string; for example, 1A2B3C4D5F. A program
may link against any platform library that ships with the system or any
library with the same team identifier in its code signature as the main
executable. Since the executables shipping as part of the system dont
have a team identifier, they can only link against libraries that ship with the
system itself.3

3 https://www.apple.com/business/docs/iOS_Security_Guide.pdf

Home Screen on IOS


The home screen (rendered by and also known as "Spring Board")
displays application icons and a dock at the bottom of the screen where
users can pin their most frequently used apps. The home screen appears
whenever the user unlocks the device or presses the "Home" button (a
physical button on the device) whilst in another app. Before iOS 4 on the
iPhone 3GS and newer, the screen's background could be customized with
other customizations available through jail breaking, but can now be
changed out-of-the-box. The screen has a status bar across the top to
display data, such as time, battery level, and signal strength. The rest of
the screen is devoted to the current application. When a passcode is set
and a user switches on the device, the passcode must be entered at the
Lock Screen before access to the Home Screen is granted.

4 https://en.wikipedia.org/wiki/IOS#Devices

Folders in IOS
With iOS 4 came the introduction of a simple folder system. When
applications are in "jiggle mode", any two (with the exception of
Newsstand in iOS 5 and iOS 6, which acts like a folder) can be dragged on
top of each other to create a folder, and from then on, more apps can be
added to the folder using the same procedure, up to 12 on iPhone 4S and
earlier and iPod Touch, 16 on iPhone 5, and 20 on iPad. A title for the folder
is automatically selected by the category of applications inside, but the
name can also be edited by the user. When apps inside folders receive
badges, the numbers shown by the badges is added up and shown on the
folder. Folders cannot be put into other folders, though an unofficial
workaround exists that enables folders to be nested within folders. iOS 7
updated the folders with pages like on the SpringBoard. Each page can
hold nine apps, and the Newsstand app is now able to be placed into a
folder.5

5https://en.wikipedia.org/wiki/IOS#Devices

IOS Processes
IOS processes are essentially equivalent to a single thread in other
operating systems-IOS processes have one and only one thread each.
Each process has its own stack space, its own CPU context, and can
control such resources as memory and a console device (more about that
later). To minimize overhead, IOS does not employ virtual memory
protection between processes. No memory management is performed
during context switches. As a result, although each process receives its
own memory allocation, other processes can freely access that same
memory. IOS uses a priority run-to-completion model for executing
processes. Initially, it might appear that this non-preemptive model is a poor
choice for an operating system that must process incoming packets quickly.
In some ways, this is an accurate observation; IOS switching needs quickly
outgrew the real-time response limitations of its process model, and in
Chapter 2, Packet Switching Architectures, youll see how this apparent
problem was solved. However, this model still holds some advantages that
make it a good fit for support processes that remain outside the critical
switching path. Some of these advantages are as follows:
Low overhead - Cooperative multitasking generally results in fewer
context switches between threads, reducing the total CPU overhead
contributed by scheduling.
Less complexity for the programmer - Because the programmer
can control where a process is suspended, its easy to limit context
switches to places where shared data isnt being changed, reducing the
possibility for side effects and deadlocks between threads. 6

LITERATURE
6 http://cdn.ttgtmedia.com/searchNetworking/downloads/InsideIOS.pdf

http://www.tutorialspoint.com/ios/ios_tutorial.pdf
https://www.apple.com/business/docs/iOS_Security_Guide.pdf
https://en.wikipedia.org/wiki/IOS#Devices
http://cdn.ttgtmedia.com/searchNetworking/downloads/InsideIOS.
pdf

Você também pode gostar