ΠΠ° ΡΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ ios
ΠΠ° ΡΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ iOS? ΠΡΠ°ΡΠΊΠΈΠΉ Π³Π°ΠΉΠ΄ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° iPhone
ΠΠ΅Π· ΡΠ΅Π³ΠΎ ΡΠΎΡΠ½ΠΎ Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ, ΡΠ°ΠΊ ΡΡΠΎ Π±Π΅Π· Π·Π½Π°Π½ΠΈΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π»Ρ iOS Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ Apple, Π° ΠΎΠ½ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: Objective-C ΠΈ Swift.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°: Interface Builder, StoryBoards ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ SwiftUI.
ΠΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΡΠΎΡ ΡΠΏ Π»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ Π΄Π»Ρ iOS ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎ Π±ΡΠ΄ΠΆΠ΅ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ iOS
ΠΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ ΡΠ·ΡΠΊΠΈ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π½Π°ΡΠΈΠ²Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Apple. ΠΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ, Π΅ΡΡΡ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ·ΡΠΊΠ°, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΈΡΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Apple:
ΠΠΎΠ΄ΡΡΠΎΠΆΠΈΠΌ
ΡΠ°Π±ΠΎΡΡ Ρ API ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Apple;
ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΡΠΎΡ ΠΆΠ΅ Git;
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ: Sketch, Figma, Canva ΠΈ Π΄Ρ.
Objective-C Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠ°ΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΠΈ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ ΡΠΆΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΡΠ³Π°ΡΠ½Π΅Ρ, Ρ ΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ½Π° Π΅ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½Π°.
Swift ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π·Π°ΠΉΠΌΠ΅Ρ ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ Π·Π°ΡΡΡΠΈΠ»ΡΡ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠ°ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Apple, ΡΠ°ΠΊ ΡΡΠΎ Π΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π² ΠΏΠ»Π°Π½Π°Ρ ΠΏΠΈΡΠ°ΡΡ ΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ iOS.
ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΠ΅Π½Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½Ρ
Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠΌ ΠΡ Π½Π°ΠΆΠΌΡΡΠ΅ ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ Ρ Π΄ΡΡΠ·ΡΡΠΌΠΈ.
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Swift. Π ΡΡΡΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ
ΠΡΠΈΠ²Π΅Ρ, Π₯Π°Π±Ρ! 2 ΠΈΡΠ½Ρ Π²ΡΠ΅ ΠΌΡ Π²ΠΎΠΎΡΠΈΡ ΠΌΠΎΠ³Π»ΠΈ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Apple Π½Π°ΡΠ°Π»Π° ΡΠ²ΠΎΡΠΈΡΡ ΡΠ΅Π²ΠΎΠ»ΡΡΠΈΡ Π² ΡΡΠ°Π½Π΅ Objective-C ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ² ΠΌΠΈΡΡ ΡΠ²ΠΎΠΉ Π½ΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ β Swift. ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠΈΠΌ, ΠΎΠ½Π° Π²ΡΠ»ΠΎΠΆΠΈΠ»Π° Π² ΠΎΡΠΊΡΡΡΡΠΉ Π΄ΠΎΡΡΡΠΏ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ·ΡΠΊΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ, Π΅ΡΠ»ΠΈ Π½Π° ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΏΡΠΎΡ. ΠΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π²Π°ΡΠ΅ΠΌΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π³Π»Π°Π²Ρ. ΠΡΠ»ΠΈ ΡΠ΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°, ΡΠΎ ΠΌΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΡΡ Π½Π΅Π΄Π΅Π»Ρ.
ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅
ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ Π² Swift
Π Swift
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Swift
Language guide
The Basics
Basic Operators
String and Characters
Collection Types
Control Flow
Functions
Closures
Enumerations
Classes and Structures
Properties
Methods
Subscripts
Inheritance
Initialization
Deinitialization
Automatic Reference Counting
Optional Chaining
Type Casting
Nested Types
Extensions
Protocols
Generics
Advanced Operators
Language Reference
About the Language Reference
Lexical Structure
Types
Expressions
Statements
Declarations
Attributes
Patterns
Generic Parameters and Arguments
Summary of the Grammar
Trademarks
ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ Π² Swift
Π ΡΠ·ΡΠΊΠ΅ Swift
Swift β ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ iOS ΠΈ OS X ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΠ΅ΡΠ°Π΅Ρ Π² ΡΠ΅Π±Π΅ Π²ΡΠ΅ Π»ΡΡΡΠ΅Π΅ ΠΎΡ C ΠΈ Objective-C, Π½ΠΎ Π»ΠΈΡΠ΅Π½ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌΡΡ Π² ΡΠ³ΠΎΠ΄Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ C. Π Swift ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΡΡΠΎΠΉ, Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΈ ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ. Swift, ΡΠΎΠ·Π΄Π°Π½ΡΠΉ Π½Π°ΠΌΠΈ Ρ ΡΠΈΡΡΠΎΠ³ΠΎ Π»ΠΈΡΡΠ°, β ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅Π±Π΅, ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Swift ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΡΡ Π½Π°ΠΌΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ. ΠΡΠ½ΠΎΠ²ΠΎΠΉ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠ»ΡΠΆΠΈΠ»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ. ΠΡ ΡΠΏΡΠΎΡΡΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΡΡΡΠ»ΠΎΠΊ β Automatic Reference Counting (ARC). ΠΠ°ΡΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π»ΠΈΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΠΈ. Objective-C Π½Π°ΡΠ°Π» ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π±Π»ΠΎΠΊΠΈ, Π»ΠΈΡΠ΅ΡΠ°Π»Ρ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ β Π²ΡΠ΅ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π»ΠΎ Π±Π»Π°Π³ΠΎΠΏΡΠΈΡΡΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄Π»Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ΠΠΌΠ΅Π½Π½ΠΎ ΡΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎΡΠ»ΡΠΆΠΈΠ»Π° ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΡΠ΄ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Π΄Π»Ρ Apple.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Objective-C Swift ΠΏΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π·Π½Π°ΠΊΠΎΠΌΡΠΌ. ΠΠ½ ΡΠΎΡΠ΅ΡΠ°Π΅Ρ Π² ΡΠ΅Π±Π΅ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΠΌΠΎΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Objective-C. ΠΠ½ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌ Cocoa ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ ΠΊΠΎΠ΄ΠΎΠΌ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π½Π° Objective-C. ΠΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π½Π° ΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΉ ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ·ΡΠΊ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½ΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠ΅ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Swift Π½Π΅ ΠΎΡΠΏΡΠ³Π½Π΅Ρ ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ². ΠΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΌΠΎΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΈ ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ, ΠΊΠ°ΠΊ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ. ΠΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ playground-Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ, Π²ΠΈΠ΄Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Swift Π²ΠΎΠ±ΡΠ°Π» Π² ΡΠ΅Π±Ρ Π²ΡΠ΅ Π»ΡΡΡΠ΅Π΅ ΠΎΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΎΠ±ΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Apple. ΠΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ β ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½Π°Ρ ΡΠ·ΡΠΊ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±Π΅Π· ΠΎΠ³Π»ΡΠ΄ΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΡ. ΠΠ½ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π²Ρ ΡΠΌΠΎΠ³Π»ΠΈ Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π²Π°ΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β«hello, world!Β», ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ΅Π»ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠ΅ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Swift Π²Π°ΠΆΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Apple.
Swift β ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ ΡΠ°Π½ΡΠ°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ iOS ΠΈ OS X, ΠΈ ΠΌΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΠ°ΡΠ° ΡΠ΅Π»Ρ β Π°ΠΌΠ±ΠΈΡΠΈΠΎΠ·Π½Π°. Π ΠΌΡ Ρ Π½Π΅ΡΠ΅ΡΠΏΠ΅Π½ΠΈΠ΅ΠΌ ΠΆΠ΄Π΅ΠΌ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π²Ρ ΡΡΠΌΠ΅Π΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π½Π΅Π³ΠΎ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Swift
ΠΡΠ»ΠΈ Π²Ρ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈ Π½Π° C ΠΈΠ»ΠΈ Objective-C ΡΡΠΎΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ°Π·Π°ΡΡΡΡ Π²Π°ΠΌ Π΄ΠΎ Π±ΠΎΠ»ΠΈ Π·Π½Π°ΠΊΠΎΠΌΡΠΌ β Π² Swift ΡΡΠ° ΡΡΡΠΎΡΠΊΠ° ΠΊΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. ΠΠ°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π²ΡΠΎΠ΄Π΅ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ. ΠΠΎΠ΄, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠΊΠΎΠΉ Π²Ρ ΠΎΠ΄Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΡ main Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Π°. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΡΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π½Π° Swift. ΠΠ΅ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°ΠΉΡΠ΅, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΡΡΠΎ-ΡΠΎ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ β ΠΌΡ Π²ΡΠ΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΠΌ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π³Π»Π°Π²Π°Ρ .
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠ»Ρ Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΆΠΈΠΌ playground Π² Xcode. Playground ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π²ΠΈΠ΄Π΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠ°Π·Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΡΠΎΡΡΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ let Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ var Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’ΠΈΠΏ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΠΈΡΡ Π΅Π΄ΠΈΠ½ΠΎΠΆΠ΄Ρ.
Π’ΠΈΠΏΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΈΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΠΏΡΡΠΌΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΡ ΡΠΈΠΏ. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΡΠΈΠΏ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΈ ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π’Π°ΠΊ, Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ, ΡΡΠΎ myVariable ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ.
ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ»ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΈΠΏ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠ°Π·Π΄Π΅Π»ΠΈΠ² Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΈΠΏ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ΠΌ:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Ρ ΡΠΈΠΏΠΎΠΌ Float ΠΈ ΠΏΡΠΎΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠΉΡΠ΅ Π΅Π΅ ΡΠΈΡΠ»ΠΎΠΌ 4.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΡΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΏ Π½Π΅ΡΠ²Π½ΠΎ. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΏ, Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ ΡΠ²Π½ΠΎ:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ ΡΠΈΠΏΡ String Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΡΠΎΠΊΠ΅. ΠΠ°ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅?
ΠΠΌΠ΅Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΡΡΡΠΎΠΊΠΈ: Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄ Π½ΠΈΠΌΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΠ»ΡΡ ( \ ). ΠΡΠΈΠΌΠ΅Ρ:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ \() ΠΈ Π²ΡΠ²Π΅Π΄ΠΈΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½ ΡΡΡΠΎΠΊΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠΌΠΌΡ Π΄Π²ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΡΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ ΠΈΠΌΡ.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ (ΡΠ»ΠΎΠ²Π°ΡΡΠΌΠΈ, dictionary) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ( [] ):
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ»ΠΈ dictionary, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΡΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ [] ΠΈ [:] ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΠ΅ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² ΡΡΠ½ΠΊΡΠΈΡ.
Π£ΡΠ»ΠΎΠ²ΠΈΡ ΠΈ ΡΠΈΠΊΠ»Ρ
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π²Π½ΡΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° if Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ, ΡΡΠΎ Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ if score <β¦>ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π΄Π΅ΡΡ Π½Π΅Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π½ΡΠ»Π΅ΠΌ).
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ±ΠΎΡΠ° switch ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²Π½ΡΡΡΠΈ ΡΠ΅Π±Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π»ΠΈΡΡ ΠΏΡΠΎΡΡΡΠΌΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡΠΌΠΈ:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ°ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅?
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ for-in ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΡ ΠΈΠΌΠ΅Π½ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²ΡΡΡΠ½ΠΈΡΡ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ ΠΈΠ· ΡΡΠ΅Ρ ΡΠΈΠΏΠΎΠ² ΠΎΡΠ½ΠΎΡΠΈΡΡΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠΈΠΊΠ»Π° while ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π²Π½ΡΡΡΠΈ Π½Π΅Π³ΠΎ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ Π»ΠΎΠΆΠ½ΡΠΌ. Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΏΠΎΡΠ»Π΅ Π±Π»ΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ
Π£Π΄Π°Π»ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ day. ΠΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° ΠΎΠ±Π΅Π΄ Π±Π»ΡΠ΄Π°.
ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΆ:
Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΡΡΠ΅Π΄Π½Π΅Π΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΡΠ²ΠΎΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Π΄ΡΡΠ³ Π² Π΄ΡΡΠ³Π°. ΠΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΌ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π² ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΊΠΎΠ΄ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° (first-class type), ΠΈΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ²ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ.
Π€ΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ
ΠΠ΅ΡΠ΅ΠΏΠΈΡΠΈΡΠ΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»ΠΎ Π½ΠΎΠ»Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ Π»ΠΈΡΠ½ΠΈΡ ΡΠΈΡΠ΅Π».
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Ρ Π½ΠΈΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ Π΄Π΅Π»Π°ΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠΌΠΈ. ΠΡΠ»ΠΈ ΡΠΈΠΏ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ Π°ΠΏΡΠΈΠΎΡΠΈ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ callback Π΄Π΅Π»Π΅Π³Π°ΡΠ°), ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΡΡΠΈΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Π΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ/ΠΈΠ»ΠΈ ΡΠΈΠΏΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΡ, ΡΠΎΡΡΠΎΡΡΠΈΠ΅ ΠΈΠ· Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π΅ΡΠ²Π½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ β ΡΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΊΠΈΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ. ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΠ΅, ΡΠ²Π»ΡΡΡΠ΅Π΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ Π² Π½Π΅Π΅ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ Ρ ΠΏΠ΅ΡΠ΅ΡΠ½Π΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠ±ΡΠ΅ΠΊΡΡ ΠΈ ΠΊΠ»Π°ΡΡΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ-ΡΠ»Π΅Π½ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ°, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ Π΅Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ²ΠΎΠ΅Π³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ (ΠΎΠ±ΡΠ΅ΠΊΡ) ΠΊΠ»Π°ΡΡΠ°, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΏΠΎΡΠ»Π΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΡΡΡΠΏ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΈ ΡΠ»Π΅Π½Π°ΠΌ ΠΊΠ»Π°ΡΡΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΊΡ.
Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ ΠΎΡ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΏΠΎΡΠ»Π΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ ΠΈ ΡΠΊΠ°Π·Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ. Π Swift Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
Π£ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ°Π·Π²Π°Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΊΠ»Π°ΡΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° (ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°). ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ° ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠ°ΠΊ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅, ΡΠ°ΠΊ ΠΈ Π²Π½ΡΡΡΠΈ ΡΠ΅Π±Ρ. ΠΠ΄Π½Π°ΠΊΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π΄ΡΡΠ³ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ (Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅ β times ), ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΡΠΈ ΡΡΠΎΠΌ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ( numberOfTimes ).
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ Π‘ΡΡΡΠΊΡΡΡΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ 2 ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° Rank ΠΏΠΎ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ.
Π Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ, ΠΈ Π²Π°ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° β Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π±ΡΠ΄ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ ΠΈΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (raw value) Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΠΈΠ»ΠΈ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ.
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΈΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ ΡΠ²ΠΎΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΡΡΡΡΠΊΡΡΡΡ Card ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΊΠΎΠ»ΠΎΠ΄Ρ ΠΊΠ°ΡΡ.
ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠ»Π΅Π½Π° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ. ΠΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΠ΅ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ (ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° success Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅). Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΠΈ: ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π½Π° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ Π΅Π³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΠΎΡΡ ΠΎΠ΄Π° ΠΈ Π·Π°ΠΊΠ°ΡΠ° Π‘ΠΎΠ»Π½ΡΠ°. Π‘Π΅ΡΠ²Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π² ΠΎΡΠ²Π΅Ρ Π»ΠΈΠ±ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π»ΠΈΠ±ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠ΅ΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ±ΠΎΡΠ° switch
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ° ServerResponse βΠ²ΡΡΠ°ΡΠΊΠΈΠ²Π°ΡΡΡΡβ Π²ΡΠ΅ΠΌΡ Π²ΠΎΡΡ ΠΎΠ΄Π° ΠΈ Π·Π°ΠΊΠ°ΡΠ°.
ΠΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΈ Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ.
ΠΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ».
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΏ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ ΠΎΠ±ΡΠΈΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ». ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π²Π½Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, Π±ΡΠ΄ΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ.
ΠΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ (generics)
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΈΠΌΡ Π² ΡΠ³Π»ΠΎΠ²ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ( <> ).
Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ»Π°ΡΡΡ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ
ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ anyCommonElements ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»Π° ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ±ΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
Π₯ΠΎΡΠΈΡΠ΅ Π²Π½Π΅Π΄ΡΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ Π² iOS-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° 10 ΠΌΠΈΠ½ΡΡ? ΠΠ½ΡΠ΅Π³ΡΠΈΡΡΠΉΡΠ΅ Apphud ΠΈ:
β ΠΎΡΠΎΡΠΌΠ»ΡΠΉΡΠ΅ ΠΏΠΎΠΊΡΠΏΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°;
β Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΠΉΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ;
β Π»Π΅Π³ΠΊΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠΉΡΠ΅ Subscription Offers;
β ΠΎΡΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ°Ρ Π² Amplitude, Mixpanel, Slack ΠΈ Telegram Ρ ΡΡΠ΅ΡΠΎΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π°Π»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ;
β ΡΠΌΠ΅Π½ΡΡΠ°ΠΉΡΠ΅ Churn rate Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΠΉΡΠ΅ ΠΎΡΠΏΠΈΡΠ°Π²ΡΠΈΡ ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΠ°Ρ ΡΡΡΡΠΎΠ΅Π½Π° iOS
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ
Mac OS X
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π½Π° Π²ΡΠ΅ ΠΌΠ°ΠΊΠΈ ΠΈ (Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅) Π½Π° Π°ΠΉΠ΄Π΅Π²Π°ΠΉΡΡ, Π²Π΅Π΄Π΅Ρ ΡΠ²ΠΎΡ ΠΈΡΡΠΎΡΠΈΡ Π°ΠΆ Ρ 1988 Π³ΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΌΠΈΡΠ΅ IT ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΡΠ°Π» Π³ΠΎΠ΄ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ° ΠΏΠ΅ΡΠ²ΠΎΠΉ Π±Π΅ΡΠ°-Π²Π΅ΡΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ NeXTSTEP. Π‘Π°ΠΌΠ° NeXTSTEP Π±ΡΠ»Π° Π΄Π΅ΡΠΈΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π‘ΡΠΈΠ²Π° ΠΠΆΠΎΠ±ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊ ΡΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΆΠ΅ ΠΏΠΎΠΊΠΈΠ½ΡΠ» Apple ΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π» ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ NeXT, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π½ΡΠ»Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ Π½ΡΠΆΠ΄.
Π ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π½Π° ΡΠ²Π΅Ρ NeXTSTEP Π±ΡΠ»Π° ΠΏΠΎΠΈΡΡΠΈΠ½Π΅ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π»Π° Π² ΡΠ΅Π±Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ Π½ΠΎΠ²Π°ΡΠΈΠΉ. Π ΠΎΡΠ½ΠΎΠ²Π΅ ΠΠ‘ Π»Π΅ΠΆΠ°Π»ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΄ΡΠΎ Mach, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΡΠ΄ΡΠ° FreeBSD, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠ°Π»ΠΎΠ½Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ°. ΠΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ NeXTSTEP Π±ΡΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ·ΡΠΊΠ° Objective-C ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±ΠΎΠ³Π°ΡΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ API. Π‘ΠΈΡΡΠ΅ΠΌΠ° Π±ΡΠ»Π° ΡΠ½Π°Π±ΠΆΠ΅Π½Π° ΡΠ°Π·Π²ΠΈΡΡΠΌ ΠΈ Π²Π΅ΡΡΠΌΠ° ΡΠ΄ΠΎΠ±Π½ΡΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ (ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈΡΡ Π² OS X ΠΈ Π΄Π°ΠΆΠ΅ iOS) ΠΈ ΠΌΠΎΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π²ΠΊΠ»ΡΡΠ°Π²ΡΠ΅ΠΉ Π² ΡΠ΅Π±Ρ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ Π²ΡΠ΅ΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π°Π»Π° NeXT ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ Π‘ΡΠΈΠ²Π° ΠΠΆΠΎΠ±ΡΠ° Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Apple Π² 1997 Π³ΠΎΠ΄Ρ NeXTSTEP Π»Π΅Π³Π»Π° Π² ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Rhapsody, Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ-Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ° Mac OS 9. Π 2000 Π³ΠΎΠ΄Ρ ΠΈΠ· Rhapsody Π±ΡΠ» Π²ΡΠ΄Π΅Π»Π΅Π½ ΠΎΡΠΊΡΡΡΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Darwin, ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ APSL, Π° ΡΠΆΠ΅ Π² 2001 Π³ΠΎΠ΄Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π½Π° ΡΠ²Π΅Ρ OS X 10.0, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π½Π° Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π΅. Π‘ΠΏΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ Darwin Π»Π΅Π³ Π² ΠΎΡΠ½ΠΎΠ²Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ Π³ΠΎΡΠΎΠ²ΡΡΠ΅Π³ΠΎΡΡ ΠΊ Π²ΡΠΏΡΡΠΊΡ ΡΠΌΠ°ΡΡΡΠΎΠ½Π°, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄ΠΎ 2007-Π³ΠΎ, ΠΊΡΠΎΠΌΠ΅ ΡΠ»ΡΡ ΠΎΠ², Π½Π΅ Π±ΡΠ»ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΏΠΎΡΡΠΈ Π½ΠΈΡΠ΅Π³ΠΎ.
XNU ΠΈ Darwin
Π£ΡΠ»ΠΎΠ²Π½ΠΎ Π½Π°ΡΠΈΠ½ΠΊΡ OS X / iOS ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° ΡΡΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠΎΠ²Π½Ρ: ΡΠ΄ΡΠΎ XNU, ΡΠ»ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ POSIX (ΠΏΠ»ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π΄Π΅ΠΌΠΎΠ½Ρ/ΡΠ΅ΡΠ²ΠΈΡΡ) ΠΈ ΡΠ»ΠΎΠΉ NeXTSTEP, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊ, ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΈ API ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Darwin Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΡΠ»ΠΎΡ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² Π²Π΅ΡΡΠΈΠΈ Π΄Π»Ρ OS X. iOS-Π²Π°ΡΠΈΠ°Π½Ρ, ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ARM ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ Π² ΡΠ΅Π±Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΊΡΡΡ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΡΡΠ°Π²Π΅ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ Π΄Π»Ρ Π°ΠΉΠ΄Π΅Π²Π°ΠΉΡΠΎΠ² (ΡΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎ Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ iOS Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°).
ΠΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠΈ Darwin β ΡΡΠΎ Β«Π³ΠΎΠ»Π°ΡΒ» UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΠΠ‘, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ POSIX API, ΡΠ΅Π»Π», Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈ Π·Π°ΠΏΡΡΠΊΠ° UNIX-ΡΠΎΡΡΠ°. Π ΡΡΠΎΠΌ ΠΏΠ»Π°Π½Π΅ ΠΎΠ½ ΠΏΠΎΡ ΠΎΠΆ Π½Π° Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ FreeBSD ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Arch Linux, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ UNIX-ΡΠΎΡΡ, Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π½ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, Π½ΠΈ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· ΡΡΠ΅Π΄ GNOME ΠΈΠ»ΠΈ KDE.
ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Darwin β Π³ΠΈΠ±ΡΠΈΠ΄Π½ΠΎΠ΅ ΡΠ΄ΡΠΎ XNU, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ΅, ΠΊΠ°ΠΊ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, Π½Π° ΡΠ΄ΡΠ΅ Mach ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ ΡΠ΄ΡΠ° FreeBSD, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠ΅ΠΊ ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° (ΡΠ»ΠΎΠΉ VFS). Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Mach ΠΈ FreeBSD, ΡΠ΄ΡΠΎ OS X ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ API Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², Π½Π°Π·Π²Π°Π½Π½ΡΠΉ I/O Kit ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΈΡΠ°ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Π½Π° C++, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ.
iOS ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ XNU, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΡΠΈΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ΄ΡΠΎ iOS Π·Π°ΠΊΡΡΡΠΎ, ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π° Apple, Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ·Π²Π΅ΡΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎ ΠΎΠ½ΠΎ ΡΠΎΠ±ΡΠ°Π½ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΎΠΏΡΠΈΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²ΠΊΠΈ Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ . ΠΠΎ Π²ΡΠ΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠΎ Π²ΡΠ΅ ΡΠΎ ΠΆΠ΅ XNU, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² Π²ΠΈΠ΄Π΅ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ΅ΡΠ° (ΡΠ΄ΡΠΎ + Π²ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ/ΠΌΠΎΠ΄ΡΠ»ΠΈ) Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /System/Library/Caches/com.apple.kernelcaches/kernelcache Π½Π° ΡΠ°ΠΌΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅.
Π£ΡΠΎΠ²Π½Π΅ΠΌ Π²ΡΡΠ΅ ΡΠ΄ΡΠ° Π² Darwin ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΡΠ»ΠΎΠΉ UNIX/BSD, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ Π² ΡΠ΅Π±Ρ Π½Π°Π±ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠ·ΡΠΊΠ° ΡΠΈ (libc, libmatch, libpthread ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π½Π°Π±ΠΎΡ ΡΠ΅Π»Π»ΠΎΠ² (bash, tcsh ΠΈ ksh) ΠΈ Π΄Π΅ΠΌΠΎΠ½ΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ launchd ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ SSH-ΡΠ΅ΡΠ²Π΅Ρ. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ, ΠΊΡΡΠ°ΡΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΊΠΈ ΡΠ°ΠΉΠ»Π° /System/Library/LaunchDaemons/ssh.plist. ΠΡΠ»ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π΄ΠΆΠ΅ΠΉΠ»Π±ΡΠ΅ΠΉΠΊΠ½ΡΡΡ Π΄Π΅Π²Π°ΠΉΡ.
ΠΠ° ΡΡΠΎΠΌ ΠΎΡΠΊΡΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΠ‘ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Darwin Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠ»ΠΎΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΠΎΠ±ΡΠ°Π·ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΌΡ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ ΡΡΠΈΡΠ°ΡΡ OS X / iOS.
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ
Darwin ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π»ΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠ°ΡΡΡ Mac OS / iOS, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π·Π° Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ, Π·Π°ΠΏΡΡΠΊ/ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡ, ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅). Π’Π° ΡΠ°ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΈΠ΄Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, Π² Π΅Π³ΠΎ ΡΠΎΡΡΠ°Π² Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ β Π½Π°Π±ΠΎΡΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π·Π° ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ API Π΄Π»Ρ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΈ ΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠ°ΠΊ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΠ‘, API Mac OS ΠΈ iOS ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ. Π‘ΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΡΡΠ΅Π·Π°Π½Π½ΡΠΉ API, ΠΎΠ΄Π½Π°ΠΊΠΎ jailbreak-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ.
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΏΠΎΡΡΠ°Π²ΠΊΠ΅ Mac OS ΠΈ iOS ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π΄Π΅ΡΡΡΠΊΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΌΡΠΌ ΡΠ°Π·Π½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΠ‘ β ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ (ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ AddressBook) Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OpenGL (GLKit). ΠΠ°Π±ΠΎΡ Π±Π°Π·ΠΎΠ²ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ Π² ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ Cocoa API, ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° ΠΌΠ΅ΡΠ°ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ ΠΠ‘. Π iOS ΠΎΠ½ Π½ΠΎΡΠΈΡ ΠΈΠΌΡ Cocoa Touch ΠΈ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ Π½Π° ΡΠ΅Π½ΡΠΎΡΠ½ΡΠ΅ Π΄ΠΈΡΠΏΠ»Π΅ΠΈ.
ΠΠ°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² ΠΎΠ±Π΅ΠΈΡ ΠΠ‘. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ iOS. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ AssetsLibrary, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡΠΌΠΈ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ, CoreBlueTooth, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΈΠ½Π΅Π·ΡΠ±Ρ, ΠΈΠ»ΠΈ iAd, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ . ΠΡΡΠ³ΠΈΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Apple ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ iOS Π² Mac OS ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ CoreMedia, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π±ΡΠ» Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π² iOS.
ΠΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /System/Library/Frameworks/. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΌ Π±Π°Π½Π΄Π»ΠΎΠΌ (boundle), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ΅ΡΡΡΡΡ (ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°), Ρ ΠΈΠ΄Π΅ΡΡ ΡΠ·ΡΠΊΠ° ΡΠΈ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ API, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ (Π² ΡΠΎΡΠΌΠ°ΡΠ΅ dylib) Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°.
ΠΠ΄Π½Π° ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² β ΠΈΡ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΠΎΡΡΡ. ΠΠ΄ΠΈΠ½ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π΄Π°ΠΆΠ΅ Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π² Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΠ‘. ΠΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠ°ΡΡΡ iOS-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² iOS 7 ΠΈ Π²ΡΡΠ΅. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ΅ Π΄Π»Ρ iOS 6, Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ Π² iOS 6.
SpringBoard
Π£ΡΠΎΠ²Π½Π΅ΠΌ Π²ΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΠ· ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π¦Π΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, SpringBoard (ΡΠΎΠ»ΡΠΊΠΎ Π² iOS), ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π΅ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΡΠΊΡΠ°Π½ (ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ»). ΠΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΠΎΡΠ»Π΅ ΡΡΠ°ΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π΄Π΅ΠΌΠΎΠ½ΠΎΠ², Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π² ΠΏΠ°ΠΌΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΈ ΡΡΠ°ΡΡΠ° Π΄ΠΈΡΠΏΠ»Π΅ΠΉΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° (ΠΎΠ½ ΠΆΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠ½Π³Π°, ΠΎΠ½ ΠΆΠ΅ Quartz Compositor), ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅Π³ΠΎ Π·Π° Π²ΡΠ²ΠΎΠ΄ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½.
SpringBoard β ΡΡΠΎ ΡΠ²ΡΠ·ΡΡΡΠ΅Π΅ Π·Π²Π΅Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ Π΅Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ, ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΡ (Π½Π°ΡΠΈΠ½Π°Ρ Ρ iOS 7). ΠΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΊΠ°ΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π° ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΡΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Mac OS X, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄Π΅ΠΌΠΎΠ½Ρ-Π°Π³Π΅Π½ΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (Finder, Dashboard, LaunchPad ΠΈ Π΄ΡΡΠ³ΠΈΠ΅), Π² iOS ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠΊΡΠ°Π½ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ Β«ΡΡΠΎΡΠΊΠ°Β», Π·Π°ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΠΎΠ΄Π½ΠΎΠΌ SpringBoard.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ iOS, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /Applications, SpringBoard Π½Π°ΡΠ°Π²Π½Π΅ Ρ Π΄ΠΈΡΠΏΠ»Π΅ΠΉΠ½ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠ°ΡΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΈ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /System/Library/CoreServices/. ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΡ Π·Π°Π΄Π°Ρ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π»Π΅ΠΆΠ°Ρ Π² /System/Library/SpringBoardPlugins/. ΠΡΠΎΠΌΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅Π³ΠΎ, ΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, NowPlayingArtLockScreen.lockboundle, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΉ Π·Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΠΈΠ»ΠΈ IncomingCall.serviceboundle, ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π·Π²ΠΎΠ½ΠΊΠ°.
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ iOS 6 SpringBoard ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Π½Π° Π΄Π²Π΅ ΡΠ°ΡΡΠΈ: ΡΠ°ΠΌ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» ΠΈ ΡΠ΅ΡΠ²ΠΈΡ BackBoard, ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ Π·Π° ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΡΡ ΠΠ‘, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΉ Ρ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (ΡΡΠΎΠ²Π΅Π½Ρ HAL). BackBoard ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ°ΠΊΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠ°ΠΊ ΠΊΠ°ΡΠ°Π½ΠΈΡ ΡΠΊΡΠ°Π½Π°, Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΠ°, Π΄Π°ΡΡΠΈΠΊΠ° ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄Π°ΡΡΠΈΠΊΠ° ΠΎΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠΎΠΌ, ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
SpringBoard ΠΈ BackBoard ΠΈΠΌΠ΅ΡΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ iOS, ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π°ΡΡΡΠ½Π΅Ρ Π½Π° ΠΌΠ΅ΡΡΠ΅ ΠΈ Π΄Π°ΠΆΠ΅ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠ΅ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΊΠ°ΡΠ°Π½ΠΈΡ ΡΠΊΡΠ°Π½Π°. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ ΠΈΡ ΠΎΡ Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΡΠΊΡΠ°Π½Π° Android, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ· ΡΠΈΡΡΠ΅ΠΌΡ (Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΎΡΡΠ°Π½ΡΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΈ ΡΡΡΠΎΠΊΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΎ Β«ΡΡΠΎΡΠΊΠΎΠΉΒ»).
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ° ΡΠ°ΠΌΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠΎΠΉ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. iOS ΡΠ°Π·Π»ΠΈΡΠ°Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ (ΡΡΠΎΠΊΠΎΠ²ΡΠ΅) Π²ΡΡΠΎΠΊΠΎ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΠ· iTunes. Π ΡΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π² Π²ΠΈΠ΄Π΅ Π±Π°Π½Π΄Π»ΠΎΠ², Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΏΠΎΡ ΠΎΠΆΠΈΡ Π½Π° ΡΠ΅, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ². Π Π°Π·Π½ΠΈΡΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π»ΠΈΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π±Π°Π½Π΄Π» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡ ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π° ΠΌΠ΅ΡΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Mach-O.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β /Applications/. Π iOS ΠΎΠ½ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΡΠ°ΡΠΈΡΠ½ΡΠΉ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌΡ; ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ Π΄ΠΎΡΡΡΠΏ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ. Π‘ΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΠ· iTunes, Π½Π°ΠΏΡΠΎΡΠΈΠ², Ρ ΡΠ°Π½ΡΡΡΡ Π² Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ /var/mobile/Applications/ Π²Π½ΡΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΠΈΠΌΠ΅ΡΡΠΈΡ Π²ΠΈΠ΄ 4-2-2-2-4, Π³Π΄Π΅ Π΄Π²Π° ΠΈ ΡΠ΅ΡΡΡΠ΅ β ΡΡΠΎ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°. ΠΡΠΎ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ GUID β ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈ Π½ΡΠΆΠ΅Π½ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡ (sandbox).
Sandbox
Π iOS ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΡΠΎΡΠΎΠ½Π½Π΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅. Π‘ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄Π»Ρ ΠΌΠΈΡΠ° UNIX chroot, ΡΡΠΈΠ»Π΅Π½Π½ΡΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° TrustedBSD MAC (ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΄ΡΠ° sandbox.kext), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΡΠ΅Π·Π°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, Π½ΠΎ ΠΈ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΆΠ΅Π»Π΅Π·Ρ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΠ‘.
Π ΡΠ΅Π»ΠΎΠΌ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π² sandbox ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ :
ΠΡΠ΅ ΡΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ sandbox-ΠΏΡΠΎΡΠΈΠ»Ρ (Π½Π°Π±ΠΎΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ») container ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ Π»ΡΠ±ΠΎΠΌΡ ΡΡΠΎΡΠΎΠ½Π½Π΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, Π±ΠΎΠ»Π΅Π΅ ΠΌΡΠ³ΠΊΠΈΠ΅ ΠΈΠ»ΠΈ ΠΆΠ΅ΡΡΠΊΠΈΠ΅. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ (ΠΏΡΠΎΡΠΈΠ»Ρ MobileMail), ΠΊΠΎΡΠΎΡΡΠΉ Π² ΡΠ΅Π»ΠΎΠΌ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Library/. ΠΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ β SpringBoard, Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ.
ΠΡΠΎΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β ΡΡΠΎ Π·Π°ΡΠΈΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡ ΡΠ°ΠΌΠΎΠΉ ΡΠ΅Π±Ρ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ°Π³ΠΈ ΠΌΠΎΠ³ΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π² ΡΡΠΎΠΊΠΎΠ²ΠΎΠΌ ΡΠΎΡΡΠ΅ ΠΎΡ Apple, ΡΠ°ΠΊ ΠΈ Π² Π³ΠΎΠ»ΠΎΠ²Π°Ρ ΡΠ·Π΅ΡΠΎΠ². Sandbox Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΎΡ ΠΎΠ±ΠΎΠΈΡ . ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ Π½Π°ΠΉΠ΄Π΅Ρ Π΄ΡΡΡ Π² Safari ΠΈ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π΅Π΅ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΎΠ½ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅ ΠΈ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π½Π°Π²ΡΠ΅Π΄ΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π ΡΠ·Π΅Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Β«ΡΠ»ΠΎΠΌΠ°ΡΡ ΡΠ²ΠΎΠΉ Π»ΡΠ±ΠΈΠΌΡΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½ΡΠΈΠΊΒ» ΠΈ Π½Π΅ Π½Π°ΠΏΠΈΡΠ΅Ρ Π³Π½Π΅Π²Π½ΡΡ ΠΎΡΠ·ΡΠ²ΠΎΠ² Π² Π°Π΄ΡΠ΅Ρ Apple. Π ΡΡΠ°ΡΡΡΡ, Π·Π½Π°ΡΡΠΈΠ΅ Π»ΡΠ΄ΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠ³ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ jailbreak ΠΈ ΠΎΠ±ΠΎΠΉΡΠΈ Π·Π°ΡΠΈΡΡ sandbox (ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, Π² ΡΡΠΎΠΌ ΠΈ Π΅ΡΡΡ ΡΠΌΡΡΠ» Π΄ΠΆΠ΅ΠΉΠ»Π±ΡΠ΅ΠΉΠΊΠ°).
ΠΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΡ
ΠΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠΏΠΎΡΠ½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ iOS β ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΠΈ. ΠΠ½Π° Π²ΡΠΎΠ΄Π΅ Π±Ρ ΠΈ Π΅ΡΡΡ, Π° Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π΅Π΅ Π½Π΅Ρ. Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΠΌΠΈ ΠΠ‘ ΠΈ ΠΏΡΠ΅ΡΠ»ΠΎΠ²ΡΡΡΠΌ Android iOS Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π² ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠΎΠ½Π΅. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΠ‘ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ API, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
ΠΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ°ΠΊΠΎΠΉ API ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π² iOS 4 (Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΎΠ³Π»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ) ΠΈ Π½Π°ΡΠ°ΡΠΈΠ²Π°Π»ΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π‘Π΅Π³ΠΎΠ΄Π½Ρ (ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎΠ± iOS 7) ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ Background API ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π’Π°ΠΊΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ°Π±ΠΎΡΡ Π² ΡΠΎΠ½Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π·Π°ΡΡΠ΄ Π±Π°ΡΠ°ΡΠ΅ΠΈ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π»Π°Π³ΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΡΠ°ΠΊ Π·Π½Π°ΠΊΠΎΠΌΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Android, Π³Π΄Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π΄Π΅Π»Π°ΡΡ Π² ΡΠΎΠ½Π΅ Π²ΡΠ΅ ΡΡΠΎ Π·Π°Ρ ΠΎΡΡΡ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Apple Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠ»ΡΠ½ΠΎ Π·Π°Π±ΠΎΡΠΈΡΡΡ ΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ Π±Π°ΡΠ°ΡΠ΅ΠΈ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΎΠ½ΠΎΠ²ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ° Π² Π½ΡΠΆΠ½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΠΌΠ°ΡΡΡΠΎΠ½ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ Wi-Fi-ΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ ΠΊ Π·Π°ΡΡΠ΄Π½ΠΎΠΌΡ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ.
ΠΡΠ²ΠΎΠ΄Ρ
Π‘ΡΠΎΠΈΡ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π·Π° Π²ΡΠ΅ΠΌΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΅Π·Π΄Π° Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ Π΄Π΅Π²Π°ΠΉΡΡ NeXTSTEP Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ ΡΠ°ΡΡΠ΅ΡΡΠ»Π° Π²ΡΠ΅ ΡΠ²ΠΎΠΈ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°, Π½ΠΎ ΠΈ ΠΏΡΠΈΡΠΌΠ½ΠΎΠΆΠΈΠ»Π° ΠΈΡ . ΠΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎ ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΡΡΠΊΠ°Π·Π½ΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² Google, ΡΠ²Π΅ΡΡΡΡΠΈΡ , ΡΡΠΎ Android ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΡΡ Π±Π΅Π· ΠΎΠ³Π»ΡΠ΄ΠΊΠΈ Π½Π° iOS, Π½ΠΎ ΡΠ°ΠΊΡ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊΡΠΎΠΌ: ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Android ΠΏΠΎΠ·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π» ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ iOS. Π Π½Π΅ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΠ΅, Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΡ ΠΊΡΠ°ΡΠΎΡΠ΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ.
Π¨Π΅ΡΡΡ ΡΡΠ°Π΄ΠΈΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ iOS
4 Π―Π΄ΡΠΎ. ΠΠ΄Π΅ΡΡ Π²ΡΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ. Π―Π΄ΡΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π΅ΠΌΠΎΠ½Ρ launchd.
5 Launchd. ΠΡΠΎ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ iOS ΠΈ Mac OS X, ΠΎΠ½ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π΄Π΅ΠΌΠΎΠ½Ρ/ΡΠ»ΡΠΆΠ±Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, backupd, configd, locationd), Π΄ΠΈΡΠΏΠ»Π΅ΠΉΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ, ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, Π° Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΡΠ°ΠΏΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΡΠ΄Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ SpringBoard. Π iOS ΠΈ Mac OS X launchd ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ /bin/init Π² UNIX, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠΈΡΠ΅.
6 SpringBoard. ΠΠΎΡ ΠΈ ΡΠΊΡΠ°Π½ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ!
ΠΠ΅ΡΠ²ΡΠ΅ ΡΠ΅ΡΡΡΠ΅ ΡΡΠ°ΠΏΠ° Π² ΡΡΠΎΠΉ ΡΠ΅ΠΏΠΈ ΠΎΠ±ΡΠ°Π·ΡΡΡ chain of trust, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²Π΅ΡΠΊΠΈ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. Π¦ΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΈΠΌΠ΅ΡΡ LLB, iBoot ΠΈ ΡΠ΄ΡΠΎ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΠΏΠΎΡΠΊΡ Ρ Π°ΠΊΠ½ΡΡΠΎΠ³ΠΎ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° ΠΈΠ»ΠΈ ΡΠ΄ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠΎΡΠΎΠ½Π½Π΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ Π΄ΠΆΠ΅ΠΉΠ»Π±ΡΠ΅ΠΉΠΊΠ°. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ β Π½Π°ΠΉΡΠΈ Π΄ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠ² ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΅Ρ Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. Π ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π±ΡΠ»ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΠΈΡ Π΄ΡΡ Π² Boot ROM (Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠΊΡΠΏΠ»ΠΎΠΉΡ limera1n ΠΎΡ geohot, Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ Π΄Π»Ρ iPhone 1β4), Π° Π² Π½Π°ΡΠ°Π»Π΅ 2014 Π³ΠΎΠ΄Π° ΠΈ Π² iBoot (Ρ Π°ΠΊΠ΅Ρ iH8sn0w, ΡΠΊΡΠΏΠ»ΠΎΠΉΡ ΡΠ°ΠΊ ΠΈ Π½Π΅ Π±ΡΠ» ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½).
Π£Π΄Π΅ΡΠΆΠΈΠ²Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠΎΠΌΠΎΠΉΒ» ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ iPhone, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΡΠ°Π²ΠΈΡΡ iBoot Π·Π°Π³ΡΡΠ·ΠΈΡΡΡΡ Π² ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΡΠ΅ΠΆΠΈΠΌ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ (Recovery), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ iOS ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ iTunes. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ OTA-ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΠΆΠΈΠΌ, ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ DFU (Device Firmware Upgrade), ΠΊΠΎΡΠΎΡΡΠΉ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΠ°Π½Π½Π΅ΠΌ ΡΡΠ°ΠΏΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Boot ROM ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π΄Π²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ : iBSS ΠΈ iBEC. ΠΠΎ ΡΡΡΠΈ, ΡΡΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈ LLB ΠΈ iBoot, ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠ΅Π»Ρ ΠΊΠΎΡΠΎΡΡΡ β Π½Π΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΠ‘, Π° ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠΌΠ°ΡΡΡΠΎΠ½ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
ΠΠ²Π³Π΅Π½ΠΈΠΉ ΠΠΎΠ±Π½ΠΈΠ½
Π Π΅Π΄Π°ΠΊΡΠΎΡ ΡΡΠ±ΡΠΈΠΊΠΈ X-Mobile. ΠΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΠ΅Π»ΡΡΡΠ²Ρ ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½. ΠΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π½Π°Ρ Linux, Plan 9, Π³Π°Π΄ΠΆΠ΅ΡΠΎΠ² ΠΈ Π΄ΡΠ΅Π²Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ.