通帳アプリに定期券があるとします。そして、私の友人の一人とパスを共有したかった.
私のアプリでは、(サーバーから受信した) .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"];
私が考えているもう 1 つの方法は、Bluetooth 経由で共有することです。しかし、正確なパスデータがなければ意味がありません。上記のすべての指定されたアプローチから、3 番目のアプローチは (コーディングの品質に関して) 理にかなっていますが、データはそれほど必要ではありません。
また、共有を可能にする他の方法を提案してください。