0% found this document useful (0 votes)
55 views

iOS Mobile App Development

The document discusses various frameworks for iOS mobile app development including UIKit, Foundation, AppKit, and others. It provides descriptions of frameworks for managing user interfaces, media, data storage, and other core functionality. Key topics covered include views, controls, view controllers, and how frameworks handle graphics, drawing, media formats and more.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views

iOS Mobile App Development

The document discusses various frameworks for iOS mobile app development including UIKit, Foundation, AppKit, and others. It provides descriptions of frameworks for managing user interfaces, media, data storage, and other core functionality. Key topics covered include views, controls, view controllers, and how frameworks handle graphics, drawing, media formats and more.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 42

iOS Mobile App Development

CT108-3-2 (Version 2)

iOS Framework
Topic & Structure of The Lesson

• Frameworks – Static and Dynamic


• UIKit framework
• Foundation framework
• Core image framework
• SpriteKit framework
• AV Foundation framework
• Core motion framework

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 2 of 42


Learning Outcomes

• At the end of this topic, You should be able


to
– List out available frameworks in iOS
technology
– Select suitable frameworks for specific
purpose

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 3 of 42


Key Terms You Must Be Able To
Use
• If you have mastered this topic, you should be able to use the following
terms correctly in your assignments and exams:
• Media
• UIKit
• Core
• Foundation
• Static
• Dynamic

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 4 of 42


Introduction

• A hierarchical directory that encapsulates


shared resources, such as a dynamic
shared library, nib files, image files,
localized strings, header files, and
reference documentation in a single
package.
• A bundle and its contents can be accessed
using Core Foundation Bundle Services or
the Cocoa NSBundle class
CT108-3-2-iOS Mobile Apps Development Frameworks Slide 5 of 42
Introduction

• Serve the same purpose as static and


dynamic shared libraries, that is, they
provide a library of routines that can be
called by an application to perform a
specific task.
• Example:
– Application Kit and Foundation frameworks
provide the programmatic interfaces for the
Cocoa classes and methods.
CT108-3-2-iOS Mobile Apps Development Frameworks Slide 6 of 42
App Using Static Library

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 7 of 42 ‹#›


App Using Dynamic Library

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 8 of 42 ‹#›


UIKit framework

• Construct and manage a graphical, event-


driven user interface for your iOS or tvOS
app.
• Provides
– The window and view architecture for
implementing your interface,
– The event handling infrastructure for
delivering Multi-Touch and other types of input
to your app

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 9 of 42 ‹#›


UIKit framework

• Provides
– Other features offered by the framework
• Animation support,
• Document support,
• Drawing and printing support,
• Information about the current device,
• Text management and display,
• Search support,
• Accessibility support,
• App extension support,
• Resource management.

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 10 of 42 ‹#›


UIKit framework

• Manage app Interaction with the system


and provides classes for the developer to
manage the app data and resources.
• E.g.
– Manage data model
– Manage images, string, storyboard, nib file
– Extend application function to other part of
the system.

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 11 of 42 ‹#›


UIKit framework

• User Interface
– Manage view and structure of the interface.
• Views and controls
• View Controller
• View layout

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 12 of 42 ‹#›


UIKit - Views and controls

• Views and controls


are the visual building
blocks of your app’s
user interface. Use
them to draw and
organize your app’s
content onscreen.

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 13 of 42 ‹#›


UIKit -View Controller

• Manage your interface using view


controllers and facilitate navigation around
your app's content.
– class UIViewController
– class UITableViewController
– class UITabBarController
– class UINavigationController
• For more information :
– https://developer.apple.com/documentation/uikit/view_controllers

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 14 of 42 ‹#›


UIKit - View layout

• Use stack views to lay out the views of


your interface automatically.
– UIStackView
• Use Auto Layout when you require precise
placement of your views.
– Constraints
• Class NSLayoutConstraint
• Protocol UILayoutSupport
• Class NSLayoutDimension

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 15 of 42 ‹#›


AppKit Framework

• Construct and manage a graphical, event-


driven user interface for your macOS app.
• Contains all the objects needed to implement
the user interface for a macOS app
– Windows,
– Panels,
– Buttons,
– Scrollers,
– Text fields

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 16 of 42 ‹#›


AppKit Framework

• Handles all the details efficiently to draw on


the screen, communicates with hardware
devices and screen buffers, clears areas of
the screen before drawing, and clips views.
– App Structure (AppCore)
– User Interface and Interaction
– Graphic, Drawing, Color and Printing
– Text

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 17 of 42 ‹#›


AppKit - Core App

• Objects interaction with the system


– Class NSApplication
– Protocol NSApplicationDelegate
– Class NSUserDefaultsController
– Class NSSharingService

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 18 of 42 ‹#›


AppKit - User Interaction

• Handle events related to mouse,


keyboard, and trackpad input.
– Class NSResponder
– Class NSEvent
– Class NSPanGestureRecognizer

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 19 of 42 ‹#›


Supported Media Formats

• OS X supports more than 100 media types,


covering a range of audio, video, image, and
streaming formats.
• Image formats
– PICT, BMP, GIF, JPEG, TIFF, PNG, DIB, ICO, EPS,
PDF
• Audio file and data formats
– AAC, AIFF, WAVE, uLaw, AC3, MPEG-3, MPEG-4
(.mp4, .m4a), .snd, .au, .caf, Adaptive multi-rate
(.amr)

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 20 of 42 ‹#›


Supported Media Formats

• Video file formats


– AVI, AVR, DV, M-JPEG, MPEG-1, MPEG-2,
MPEG-4, AAC, OpenDML, 3GPP, 3GPP2,
AMC, H.264, iTunes (.m4v), QuickTime (.mov,
.qt)
• Web streaming protocols
– HTTP, RTP, RTSP

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 21 of 42 ‹#›


Foundation Framework

• Access essential data types, collections, and


operating-system services to define the base
layer of functionality for your app.
• Provides a base layer of functionality for apps and
frameworks, including
– data storage and persistence,
– text processing,
– date and time calculations,
– sorting and filtering,
– networking.

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 22 of 42 ‹#›


Foundation Framework

• Numbers, Data, and Basic Values


• Work with primitive values and other
fundamental types used throughout Cocoa.
• Handle
– Strings and Text
– Collections
– Dates and Times
– Filters and Sorting

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 23 of 42 ‹#›


Foundation Framework

• Support
– Task Management
– Resources
– Notifications
– App Extension Support
– Errors and Exceptions

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 24 of 42 ‹#›


EventKit UI Framework

• Display an interface for viewing, selecting,


and editing calendar events and reminders.
• Show calendar and reminder information to
the user modally.
• Provides view controllers for viewing and
editing calendar and reminder information,
choosing which calendar to view, and for
determining whether to present calendars as
read-only or readable and writeable.
CT108-3-2-iOS Mobile Apps Development Frameworks Slide 25 of 42 ‹#›
EventKit Framework

• Provides access to calendar and


reminders data for users to create,
retrieve, and edit calendar items in the
app.
• Can to set up alarms and create recurring
events.
• Can detect the chances in Calendar
database (outside app)

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 26 of 42 ‹#›


PushKit Frameworks

• Sends specific types of notifications


directly to your app for processing.
• Different from UserNotifications
framework, never display alerts, badge
your app's icon, or play sounds.
– Better battery life
– Launch the app if it is not running

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 27 of 42 ‹#›


Core Image Framework

• Image processing and analysis technology


that provides high-performance processing
for still and video images.
• Use the many built-in image filters to
process images and build complex effects
by chaining filters.
• Apply effects (tint, highlight strengthening,
and scaling)

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 28 of 42 ‹#›


Core Animation Framework

• Provides high frame rates and smooth


animations without burdening the CPU
and slowing down your app.
• Handing off most of the work to dedicated
graphics hardware, to accelerate
rendering.
• Use for render, compose, and animate
visual elements.

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 29 of 42 ‹#›


PDFKit Framework

• Display and manipulate PDF documents in


your applications.
• Add widgets, annotation to pdf document

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 30 of 42 ‹#›


SpriteKit Framework

• Use for drawing shapes, particles, text,


images, and video in 2D.
• Offering a simple programming interface to
make it easy to create games and other
graphics-intensive apps.
• Use SceneKit framework for 3D games
and add 3D content

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 31 of 42 ‹#›


GameKit Framework

• Create apps that allow players to interact


with each other (real-time network
matches)

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 32 of 42 ‹#›


AddressBookUI Framework

• Access users’ contacts and display them in a


graphical interface.
• Provides controllers that facilitate displaying,
editing, selecting, and creating records in the
Address Book database.
• Replaced by Contacts UI framework
• Use contact framework to access the user’s
contact information.
• Optimized for thread-safe, read-only usage.
CT108-3-2-iOS Mobile Apps Development Frameworks Slide 33 of 42 ‹#›
AVKit Frameworks

• Create view-level services for media


playback, complete with user controls,
chapter navigation, and support for
subtitles and closed captioning.

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 34 of 42 ‹#›


AVFoundation Framework

• Work with audiovisual assets, control


device cameras, process audio, and
configure system audio interactions.
• Combines four major technology areas that
together encompass a wide range of tasks
for capturing, processing, synthesizing,
controlling, importing and exporting
audiovisual media on Apple platforms.

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 35 of 42 ‹#›


Core Bluetooth Framework

• Provides the classes needed for the apps


to communicate with devices that are
equipped with Bluetooth low energy
wireless technology.

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 36 of 42 ‹#›


LocalAuthentication
Framework
• Many users rely on biometric
authentication like Face ID or Touch ID to
enable secure, effortless access to their
devices.
• Authenticate users biometrically or with
existing a passphrase.

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 37 of 42 ‹#›


Core Motion Framework

• Process accelerometer, gyroscope,


pedometer, and environment-related
events.
• Reports motion- and environment-related
data from the onboard hardware
(hardware generated data)
• Widely use in game to control the
onscreen game behaviour.

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 38 of 42 ‹#›


Quick Review Question

1. Group the frameworks into different


categories.
2. Explain any 5 frameworks.
3. Select suitable frameworks that able to
add an event into the calendar.
4. Based on your answer (Q3), briefly
explain 2 functions available in the
selected frameworks.

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 39 of 42


Summary of Main Teaching Points

• Static and dynamic frameworks.


• Different iOS technology layers
– Frameworks
• Related frameworks at different layers.

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 40 of 42


Question and Answer Session

Q&A

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 41 of 42


What we will cover next

App TableView

CT108-3-2-iOS Mobile Apps Development Frameworks Slide 42 of 42

You might also like