[iOS]wallet开发demo

汤才捷
2023-12-01
关于wallet开发,我觉得前端只需要添加.pkpass文件即可,服务器端负责制作这类文件。
下面参考本地加载.pkpass文件来动手做一个demo:
1、新建PassTest项目,把.pkpass文件目录拖到项目中。
![添加pass文件](https://img-blog.csdn.net/20160708164633756)
2、在.h文件添加头文件:#import <PassKit/PassKit.h> 并添加PKAddPassesViewControllerDelegate代理方法。
3、检查api是否可用采用这种方法:
if (![PKPassLibrary isPassLibraryAvailable]) {
        [[[UIAlertView alloc] initWithTitle:@"Error"
                                    message:@"PassKit not available"
                                   delegate:nil
                          cancelButtonTitle:@"Pitty"
                          otherButtonTitles: nil] show];
        return;
    }

4、获取一个.pkpass文件:

 NSString *passFile = [[[NSBundle mainBundle] resourcePath]
                          stringByAppendingPathComponent:name];
    NSData *passData = [NSData dataWithContentsOfFile:passFile];

    NSError* error = nil;
    PKPass *newPass = [[PKPass alloc] initWithData:passData
                                             error:&error];


    if (error != nil) {
        [[[UIAlertView alloc] initWithTitle:@"Passes error"
                                    message:[error
                                             localizedDescription]
                                   delegate:nil
                          cancelButtonTitle:@"Ooops"
                          otherButtonTitles: nil] show];
        return;
    }

5、构造一个PKAddPassesViewController对象,来准备添加.pkpass

PKAddPassesViewController *addController =
    [[PKAddPassesViewController alloc] initWithPass:newPass];

    addController.delegate = self;
    [self presentViewController:addController
                       animated:YES
                     completion:nil];

6、在代理方法中打开wallet,查看添加的票据

-(void)addPassesViewControllerDidFinish:(PKAddPassesViewController *)controller {
    [self dismissViewControllerAnimated:YES completion:nil];
    if (selectPass) {
        // 调转到wallet查看添加的票据
        NSLog(@"%@",selectPass.passURL);
        [[UIApplication sharedApplication] openURL:selectPass.passURL];
    }
}

整个代码很简单,主要是.pkpass 文件制作稍微麻烦。
参考网站:
http://pass.infothinker.com/#
http://www.passquan.cn
http://www.lxway.com/806148922.htm
http://blog.sina.com.cn/s/blog_62c942d20101d2y9.html

 类似资料: