Читать «iOS. Приемы программирования» онлайн - страница 445

Вандад Нахавандипур

Код взят из файла реализации делегата нашего приложения.

#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

2

Odd (англ.) — «нечетный», delete (англ.) — «удалить». — Примеч. пер.

3

Первая строка: «Потенциально неполная реализация метода». Вторая строка: «Неполная реализация метода». — Примеч. пер.

4

5

Интересная статья о сегвеях и их роли в раскадровках: /. — Примеч. пер.

6

Invocation (англ.) — «активизация». — Примеч. пер.

7

Main (англ.) — «главный», run (англ.) — «рабочий», loop (англ.) — «цикл». — Примеч. пер.

8

«Ошибка: данные не могут быть считаны, так как имеют неверный формат». — Примеч. пер.

9

Pan (англ.) — «панорамирование», recognizer (англ.) — «распознаватель». — Примеч. пер.

10

На преобразование указывает компонент from из названия метода. — Примеч. пер.