Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ NSUserDefaultsDidChangeNotification.
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅
Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π΄Π»Ρ iOS, ΡΠ°ΠΉΠ» ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ. ΠΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ (Settings) Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. Π§ΡΠΎΠ±Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠ°ΠΊΠ΅Ρ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ.
1. Π Xcode Π²ΡΠ±Π΅ΡΠΈΡΠ΅ File β New File (Π€Π°ΠΉΠ» β ΠΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ»).
2. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ»Π΅Π²Π° Π·Π°Π΄Π°Π½Π° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ iOS.
3. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ Resources (Π Π΅ΡΡΡΡΡ).
4. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠΏΠ° ΡΠ°ΠΉΠ»Π° ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ Π½Π°ΡΡΡΠΎΠ΅ΠΊ (Settings Bundle), Π° ΠΏΠΎΡΠΎΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ Next (ΠΠ°Π»Π΅Π΅).
5. ΠΠ°Π·ΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΠΉΠ» Settings.bundle.
6. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Save (Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ).
ΠΡΠ°ΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π² Xcode Π΅ΡΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Settings.bundle. ΠΡΡΠ°Π²ΡΡΠ΅ ΡΡΠΎΡ ΡΠ°ΠΉΠ» ΠΊΠ°ΠΊ Π΅ΡΡΡ, Π½Π΅ Π²Π½ΠΎΡΠΈΡΠ΅ Π² Π½Π΅Π³ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Home (ΠΠΎΠΌΠΎΠΉ) ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Settings (ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ). ΠΡΠ»ΠΈ Π²Ρ Π½Π°Π·ΠΎΠ²Π΅ΡΠ΅ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ foo, ΡΠΎ Π² ΠΎΠΊΠ½Π΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π½Π° ΡΠΈΡ. 15.4, ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°Π½ΠΎ Foo. (ΠΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π½Π°Π·Π²Π°Π» Handling local System Notifications, ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅.)
Π ΠΈΡ. 15.4. ΠΠ°ΠΊΠ΅Ρ Settings.bundle ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Settings (ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ) Π² ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠ΅ iOS
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π½ΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ°Π»Π΅Π΅ Π½Π°ΡΠ½Π΅ΠΌ ΡΠ»ΡΡΠ°ΡΡ Π² Π΄Π΅Π»Π΅Π³Π°ΡΠ΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ NSUserDefaultsDidChangeNotification. ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ, ΠΌΡ, ΡΠ°ΠΌΠΎ ΡΠΎΠ±ΠΎΠΉ, ΡΠ΄Π°Π»ΠΈΠΌ Π΄Π΅Π»Π΅Π³Π°Ρ ΠΈΠ· ΡΠ΅ΠΏΠΎΡΠΊΠΈ Π°Π΄ΡΠ΅ΡΠ°ΡΠΎΠ² ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ:
#import Β«AppDelegate.hΒ»
@implementation AppDelegate
β (void) handleSettingsChanged:(NSNotification *)paramNotification{
NSLog(@"Settings changed");
NSLog(@"Notification Object = %@", paramNotification.object);
}
β (BOOL) application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
[[NSNotificationCenter defaultCenter]
addObserver: self
selector:@selector(settingsChanged:)
name: NSUserDefaultsDidChangeNotification
object: nil];
return YES;
}
β (void)applicationWillTerminate:(UIApplication *)application{
[[NSNotificationCenter defaultCenter] removeObserver: self];
}
@end
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ, ΠΏΠΎΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΠΎΠ³Π΄Π° Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅, ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ β ΠΈ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ NSUserDefaultsDidChangeNotification. ΠΠ±ΡΠ΅ΠΊΡ, ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠΉ ΠΊ ΡΡΠΎΠΌΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, Π±ΡΠ΄Π΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΊ ΡΠΈΠΏΡ NSUserDefaults ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ user defaults.
15.7. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΡ-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠ³ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ.
1. ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°Π² Π² Π½Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΡ-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ.
2. Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΡ-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
3. ΠΠΎΠ·ΡΠΌΠΈΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΡ-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠΎΡΠ»ΠΈΡΠ΅ ΡΡΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ.
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΌ Π΄Π»Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΡ-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ. Π‘Π΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠ°ΡΡΡ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ, ΡΡΠΈΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ²ΡΡΠ΅Π½ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°Π·Π΄Π΅Π».
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅
ΠΡΡ-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π½Π°Π·Π½Π°ΡΠ°ΡΡΡΡ ΡΠ°ΠΌΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΡΡ-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΡΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ ΠΎΡΡΡΠ»Π°ΡΡΡΡ Ρ Π½Π΅Π³ΠΎ Π² Apple, Π° Apple ΡΠ°ΠΌΠ° ΡΠ°Π·Π΄Π°Π΅Ρ ΡΡΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π½Π° ΡΠ°Π·Π½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΌΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΡΡ-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΡ APNS (Apple Push Notifications Services). ΠΠ°ΡΠ΅ΠΌ APNS ΠΏΡΡΠ°Π΅ΡΡΡ Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π½Π°ΡΠΈ ΠΏΡΡ-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΏΠΎ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ iOS ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΡΡ-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, Ρ Π½Π΅Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²Π°Π»ΠΈΠ΄Π½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΡ-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ. Π§ΡΠΎΠ±Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ ΡΠΆΠ΅ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ Π½Π° ΠΏΠΎΡΡΠ°Π»Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π²Π°ΡΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π§ΡΠΎΠ±Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½ΠΎΠ²ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ Accounts (Π£ΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ), ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΉΡΡ Π² Xcode. ΠΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ°Π·Π΄Π΅Π» Xcode Preferences (ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ), Π² Π½Π΅ΠΌ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΠΎΠ±Π»Π°ΡΡΡ Accounts (Π£ΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ). ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π²Π°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Apple ID, Π° Π΄Π°Π»Π΅Π΅ Xcode ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Π·Π° Π²Π°Ρ.
1. ΠΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ iOS.
2. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ°Π·Π΄Π΅Π» Certificates, Identifiers & Profiles (Π‘Π΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ) β ΠΎΠ½ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΡΠΏΡΠ°Π²Π°.
3. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Identifiers (ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ) ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΄Π»Ρ ΡΠ΅Π±Ρ Π½ΠΎΠ²ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ App ID. ΠΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π²Π°Π»ΠΈΠ΄Π½ΡΠΉ Explicit App ID (ΡΠ²Π½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ com.pixolity.ios.cookbook.PushNotificationApp. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡΡΠΎ ΠΈΠΌΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΎ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π΄ΠΎΠΌΠ΅Π½Π° Π² ΡΡΠΈΠ»Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π²ΡΠ±ΡΠ°Π» Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΡΠΈΠ»Π΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π΄ΠΎΠΌΠ΅Π½Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π²Π°ΠΌ ΠΈ Π²Π°ΡΠ΅ΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ.
4. Π ΡΠ°Π·Π΄Π΅Π»Π΅ App Services (Π‘Π΅ΡΠ²ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ) Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΡΠ»Π°ΠΆΠΎΠΊ Π΄Π»Ρ ΠΏΡΡ-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ (Push Notifications) (ΡΠΈΡ. 15.5).
Π ΠΈΡ. 15.5. ΠΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΡ-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π΄Π»Ρ App ID
5. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°Ρ ΡΡΡΡΠΎΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΡΠΈΡ. 15.6), ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ Π²Π°Ρ App ID Π² Apple.
Π ΠΈΡ. 15.6. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΏΡΡ-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ
6. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΠ΅ Π²ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ°Π·Π΄Π΅Π» Provisioning Profiles (ΠΡΠΎΡΠΈΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ) Π²Π°ΡΠ΅Π³ΠΎ iOS-ΠΏΠΎΡΡΠ°Π»Π°.
7. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (Development). ΠΠΎΠ·ΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈ β Ad Hoc ΠΈ App Store, ΡΠ°ΠΊ ΡΡΠΎ ΠΎΠ± ΡΡΠΎΠΌ Π½Π΅ Π²ΠΎΠ»Π½ΡΠΉΡΠ΅ΡΡ. ΠΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ²Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² App Store, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΡΠΎΠΌΡ ΡΠ°Π³Ρ ΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈ Ad Hoc ΠΈ App Store.
8. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²ΡΠ·Π°Π½ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅. ΠΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΠΎΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π²Π°Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΡΡΠ½ΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
9. ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠΈΠ»Ρ Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠΎΠ², ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ Π΅Π³ΠΎ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ iTunes Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ. ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΡΠΎΡΠΈΠ»Ρ Π½Π΅ Π΄Π΅Π»Π°ΠΉΡΠ΅ Π΄Π²ΠΎΠΉΠ½ΡΡ ΡΠ΅Π»ΡΠΊΠΎΠ² Π½Π° Π½Π΅ΠΌ. ΠΡΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌ ΡΠ΅Π»ΡΠΊΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»Ρ Π±ΡΠ΄Π΅Ρ ΡΠ±ΡΠΎΡΠ΅Π½ΠΎ ΠΈ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ Ρ Π΅Ρ-ΠΈΠΌΠ΅Π½Π΅ΠΌ MD5, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠ°ΠΉΠ» ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅. ΠΡΠ»ΠΈ Π²Ρ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΠ΅ ΠΏΡΠΎΡΠΈΠ»Ρ Π² iTunes, ΡΠΎ iTunes ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎΠ΄ Π΅Π³ΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.
10. Π Xcode Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΠ±ΠΎΡΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ±ΠΎΡΠΊΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π»ΠΈ. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ (ΡΡ Π΅ΠΌΠ° Development) Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΠΏΡΠΎΡΠΈΠ»Ρ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΡΡ Π΅ΠΌΠ΅ Release (Π Π΅Π»ΠΈΠ·) ΠΏΡΠΎΡΠΈΠ»Ρ App Store ΠΈΠ»ΠΈ Ad Hoc, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΉΠΌΠ΅ΡΠ΅ΡΡ ΠΏΠΎΠ·ΠΆΠ΅.
11. ΠΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΠ΅ Π²Π°Ρ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΄Π»Ρ OS X β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² TextEdit. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΊΠ»ΡΡ Entitlements. ΠΠ΅ΡΡ ΡΡΠΎΡ ΡΠ°Π·Π΄Π΅Π» ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
<key>Entitlements</key>
<dict>
<key>application-identifier</key>
<string>F3FU372W5M.com.pixolity.ios.cookbook.PushNotificationApp</string>
<key>aps-environment</key>
<string>development</string>
<key>get-task-allow</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>F3FU372W5M.*</string>
</array>
</dict>
12. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ PLIST-ΡΠ°ΠΉΠ» Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Xcode, Π½Π°Π·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Entitlements.plist. Π Xcode ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Open As (ΠΡΠΊΡΡΡΡ ΠΊΠ°ΠΊ) ΠΈ Π΄Π°Π»Π΅Π΅ Source Code (ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄). Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
<plist version="1.0">
<dict/>
</plist>