假设我的存折应用程序中有通行证。并想与我的一位朋友分享通行证。
在我的应用程序中,如果我将 .pkpass 数据(从服务器接收)邮寄给我的朋友,则设备会将其识别为通行证。
[controller addAttachmentData:data mimeType:@"application/vnd.apple.pkpass" fileName:@"Pass.pkpass"];
假设我的文档目录或应用程序包中有 .pkpass 文件,然后将该文件更改为数据然后邮寄,也可以正常工作。
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"walmart" ofType:@"pkpass"]; NSData *data = [[NSData alloc] initWithContentsOfFile:filePath]; [controller addAttachmentData:data mimeType:@"application/vnd.apple.pkpass" fileName:@"Pass.pkpass"]
但是当我使用以下代码时,它就不起作用了。
_passLibrary = [[PKPassLibrary alloc] init]; _passArray = [_passLibrary passes]; PKPass *pass = _passArray[0]; NSData *data = [[NSData alloc] initWithContentsOfURL:[pass passURL]]; [controller addAttachmentData:data2 mimeType:@"application/vnd.apple.pkpass" fileName:@"Pass.pkpass"];
我想到的另一种方式是通过蓝牙共享。但是,如果我没有准确的通行证数据,那就没有意义了。从上述所有指定的方法中,第三种方法是有意义的(编码质量方面),但数据不是所需的。
也请向我建议使共享成为可能的其他方法。