Вандад Нахавандипур - iOS. Приемы программирования
Код взят из файла реализации делегата нашего приложения.
#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 (англ.) — «анимация». — Примеч. пер.