How to make a iOS 8 touch framework - MOPCON 2014

Preview:

DESCRIPTION

iOS 8 Framework 簡介

Citation preview

How to make a iOS 8 touch framework

Superbil @ MOPCON 2014

About me

• iOS

• Git / Emacs / Objective-C / Python

• about.me/superbil

• freenode #g0v.tw #emacs.tw

• Work at g0v, Eatgo

Eatgo

Framework ?

– Apple Document

A framework is 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. Multiple applications can use all of these resources simultaneously. The system loads them into memory as needed and shares the one copy of the resource among all applications whenever possible.

Framework ?

Dynamic Framework

Different ?

• Static library a unit of code linked at compile time, which does not change

• Dynamic librarya unit of code and/or assets linked at runtime that may change

Framework

• View

• Controls

• Custom appearance

iOS Extension • View

• Controls

• Custom appearance

• View Controllers

• Service API

• Resources

Framework ?

Framework

iOS 8 Extensions

Framework

Framework API

Key archiving

• key-value

• key nil

• Key

Framework Header type

• Public

• Private

• Project

Framework Version

Framework Version

How to

iOS 8 Extension

Extension Type

• Today

• Share

• Action

• Photo Editing

• Finder Sync (OS X)

• Document Provider(iOS; UI and non-UI variants)

• Custom Keyboard

Containing App’s boundle app process App Containing

Containing App’s boundle app process App Containing

Extension Boudle Extension process

App Containing

Containing App’s boundle app process App Containing

Extension Boudle Extension process

Option share containing

App Containing

iOS Extension

Bug

– mikimoto

– by Jserv

Custom Keyboard extension

• keyboard type

layout • • •

• • popup •

(2)

• •

• •

• Autolayout

• iPhone (3.5 4.0 4.7 5.5 iPad

• App

• Apple •

• AppGroup

Allow Full Access

– iOS 8

Container

• Container App Extension

• Extension

Thanks

Recommended