Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«iOS. ΠŸΡ€ΠΈΠ΅ΠΌΡ‹ программирования». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 165

Автор Π’Π°Π½Π΄Π°Π΄ Нахавандипур

Код взят ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π΅Π»Π΅Π³Π°Ρ‚Π° нашСго прилоТСния.

#import Β«AppDelegate.hΒ»

#import <PassKit/PassKit.h>


@interface AppDelegate ()

@property (nonatomic, strong) PKPassLibrary *passLibrary;

@end

NSString *PassIdentifier = @"pass.pixolity.testingpasskit";

NSString *PassSerialNumber = @"p69f2J";


NSString *DepartureKey = @"departure";

NSString *DeparturePlatformKey = @"departurePlatform";

NSString *Arrival = @"arrival";

NSString *ArrivalPlatform = @"arrivalPlatform";


@implementation AppDelegate


β€” (void) displayPassInformation:(PKPass *)paramPass{


if (paramPass == nil){

NSLog(@"The given pass is nil.");

return;

}


NSLog(@"Departs From = %@",

[paramPass localizedValueForFieldKey: DepartureKey]);

NSLog(@"Departure Platform = %@",

[paramPass localizedValueForFieldKey: DeparturePlatformKey]);

NSLog(@"Arrives at = %@",

[paramPass localizedValueForFieldKey: Arrival]);

NSLog(@"Arrival Platform = %@",

[paramPass localizedValueForFieldKey: ArrivalPlatform]);


}


β€” (BOOL) application:(UIApplication *)application

didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{


if ([PKPassLibrary isPassLibraryAvailable]){

self.passLibrary = [[PKPassLibrary alloc] init];


PKPass *pass =

[self.passLibrary passWithPassTypeIdentifier: PassIdentifier

serialNumber: PassSerialNumber];

[self displayPassInformation: pass];


} else {

/* Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ дСйствиС */

NSLog(@"The pass library is not available.");

}


self.window = [[UIWindow alloc]

initWithFrame: [[UIScreen mainScreen] bounds]];


// Π’ΠΎΡ‡ΠΊΠ° пСрСопрСдСлСния для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройки послС запуска

прилоТСния

self.window.backgroundColor = [UIColor whiteColor];

[self.window makeKeyAndVisible];

return YES;

}

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚Π°Π»ΠΎΠ½Π° ΠΈ сСрийный Π½ΠΎΠΌΠ΅Ρ€, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ здСсь, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°Π»ΠΎΠ½Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я создал с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠ΅Π³ΠΎ сСртификата. Π’Π°Ρˆ сСрийный Π½ΠΎΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅, Π½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚Π°Π»ΠΎΠ½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π΅Π½ для вашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ/Π½Π° вашСм ΠΏΠΎΡ€Ρ‚Π°Π»Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

Π Π°Π·Π΄Π΅Π» 19.2.

Бноски

1

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этих элСмСнтах см.: http://habrahabr.ru/post/79280/. β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.

2

Odd (Π°Π½Π³Π».) β€” Β«Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹ΠΉΒ», delete (Π°Π½Π³Π».) β€” Β«ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒΒ». β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.

3

ΠŸΠ΅Ρ€Π²Π°Ρ строка: Β«ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ нСполная рСализация ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Β». Вторая строка: «НСполная рСализация ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Β». β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.

4

О Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π°ΡƒΡ‚Π»Π΅Ρ‚ ΠΈ Ρ‡Π΅ΠΌ такая связь отличаСтся ΠΎΡ‚ action, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассказано Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΠΎ адрСсу http://habrahabr.ru/post/30553/. β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.

5

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎ сСгвСях ΠΈ ΠΈΡ… Ρ€ΠΎΠ»ΠΈ Π² раскадровках: http://www.raywenderlich.com/ru/24949/. β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.

6

Invocation (Π°Π½Π³Π».) β€” «активизация». β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.

7

Main (Π°Π½Π³Π».) β€” Β«Π³Π»Π°Π²Π½Ρ‹ΠΉΒ», run (Π°Π½Π³Π».) β€” Β«Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉΒ», loop (Π°Π½Π³Π».) β€” Β«Ρ†ΠΈΠΊΠ»Β». β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.

8

«Ошибка: Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ считаны, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Β». β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.

9

Pan (Π°Π½Π³Π».) β€” Β«ΠΏΠ°Π½ΠΎΡ€Π°ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β», recognizer (Π°Π½Π³Π».) β€” Β«Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚Π΅Π»ΡŒΒ». β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.

10

На ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ from ΠΈΠ· названия ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.

11

УпотрСбляСтся ΠΈ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ β€” Β«Ρ€ΡƒΠΊΠΎΠΏΠΎΠΆΠ°Ρ‚ΠΈΠ΅Β». β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.

12

StartTopLeft (Π°Π½Π³Π».) β€” Β«Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ с Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π°Β», ImageView (Π°Π½Π³Π».) β€” Β«Π²ΠΈΠ΄ с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌΒ», Animation (Π°Π½Π³Π».) β€” «анимация». β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.