問題タブ [passkit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - PKPayment は常に名前を返すとは限りません
私の作成時に、PKPaymentRequest
次のような必須フィールドをいくつか指定します。
注: 請求先の電子メール アドレスと名前のみが必要ですが、PKAddressFieldEmail|PKAddressFieldName
オンも指定しない場合requiredShippingAddressFields
、ApplePay UI はこれを要求しません。
次に、このように名前を抽出しようとします。配送先住所に到着するか、請求先住所に到着するかは必ずしも明確ではないため、両方を確認します.
しかし、名前が表示されないこともあります。断続的で、表示されることもあれば、何も変更しないと表示されないこともあります。これは、iOS 8.4 のバグではないかと疑っていますが、私のせいだと断言するつもりはありません。(通常はそうです。)
他の誰かがこれに遭遇しましたか?回避策はありますか?
ios - Apple Pay - 決済バックエンド サーバー - iOS
Apple Pay に関する Apple 開発者向けドキュメントの Web サイトを読んでおり、Apple Pay を iOS アプリに統合する方法についてオンラインで他のチュートリアルを調べてきました。
私が行ったすべてのサイトは、支払いを処理できるバックエンド サーバー/サービスが必要であることを示しています。これを回避する方法があるかどうかは誰にもわかりません。個人的には、アプリで支払いを処理するのは Apple だけです。なぜバックエンドも必要なのですか?? Apple Pay の要点は、支払いを処理することだと思いました....
物理的な製品ではなく、アプリでユーザーにサービスを販売するので、配送などを処理する必要はありません。
もちろん、支払いが成功したかどうかを示すデリゲート メソッドがあります。それは私には十分に思えます。私はそれらを使用することはできませんか?
問題は、バックエンドを使用する場合、Stripe のようなサービスを使用する必要があることです。このサービスは、各トランザクションの約 2.9% を手数料として受け取ります。大規模な場合 (または小規模な場合でも) はかなりの量になります。本音)。
時間をありがとう、ダン。
ios - dataTaskWithRequest 完了ハンドラでランダム エラーが発生しましたか?
私は通帳対応の迅速なアプリケーションに取り組んでおり、奇妙な問題に直面しています。ランダムに、サーバーからダウンロードした通帳が破損しています (ダウンロードしたものは正常または破損している可能性があります)。
コードは次のとおりです。
エラーは次のとおりです: 2015-08-22 16:18:28.328 Application[10302:1018965] BOM could not extract archive: Couldn't read PKZip signature
それ以外の場合は機能します....機能するか失敗するかは本当にランダムな時間です...
編集:次のエラーもあります:2015-08-23 01:19:19.483 Benight [3467:994898] Pass.com.apple.demo/8j23fm3を読み取る無効なデータエラー。指定された passTypeIdentifier または teamIdentifier が証明書と一致しないか、証明書の信頼チェーンを検証できませんでした。致命的なエラー: オプション値のラップ解除中に予期せず nil が見つかりました
ios - Passbook ファイルは Safari OSX では開きますが、Safari iOS では開きません
Passbooks をアプリに追加しようとしています。私は一日中それをいじっていましたが、まだ運がありません!
OSX ブラウザで動作
ローカル (OSX) で作業している場合、Chrome と Safari で通帳をダウンロードすると、問題なく開きます。
iOS ブラウザで静かに失敗する
ただし、iOS シミュレーター + Mobile Safari を使用すると、エラー メッセージが表示され、ログ メッセージは表示されません。
iPad (iOS 8 および 9) を使用すると、同じ動作が発生します: エラー メッセージ + ログに何も表示されません。
クレイジーなことが1 つあります。iOS 9 を実行している iPhone で 1 回開くことに成功しましたが、それだけです。iOS 8 上の iPhone での以前の試みは成功しませんでした。
iMessage => iOS で動作
同僚がこの質問からファイルをダウンロードし、iMessage で自分のデバイスに送信して、正常にインストールしました。なんと!
サンプルファイル
サンプル.pkpass
ファイルは次のとおりです: http://rmosolgo.github.io/assets/rm_example.pkpass
私が試したこと
Content-Type ヘッダー
正しいコンテンツ タイプを使用していることを確認しました。Railsコードは次のとおりです。
そして、GETリクエストで出くわすようです:
有効な JSON
を解凍し.pkpass
て調べてみましたpass.json
。すべてが順調でした!
今何??
これについて多くのSOの質問を見てきましたが、それらはすべて何らかのログ出力を伴います。ログ出力がありません。私に何ができる?何か提案はありますか??
本当にありがとう!
base64 - Passbook : サーバーから base64 文字列を取得し、pkpass を変換して iOS に保存します
通帳をiosウォレットに保存しようとしています。安全な問題のため、uri の代わりに base64 データを使用する必要があります。このために私が想定した流れは以下のようなものです
- サーバーから base64 文字列を取得します。
- 「initWithBase64EncodedString」で base64 を pkpass データに変換します
- 「PKAddPassesViewController」で pkpass をウォレットに保存する
上記のコードでは、デコードされたbase64文字列が正しい場合でも、2番目のステップでnilエラーで進行が停止します。したがって、2番目のステップの後のコードがエラーなしで機能するかどうかはわかりません。
事前に答えてくれてありがとう。
ios - iOSのウォレットアプリから他のユーザーのパスにアクセスすることは可能ですか?
ウォレットアプリから他のiPhoneユーザーのパスを使いたいです。
例 : user1 が user2 のカードを使用したい場合、ユーザー 1 は ap を介して user2 にメッセージを送信します (ユーザー 1 からのメッセージ: user2 は $x の支払いを解除してください)。
ユーザー 2 はこのメッセージを受信し、アプリ経由でパスポートにアクセスします。カードを選択し、そのカード パスをユーザー 1 に 10 分間送信して、パスポート経由で使用します。
アクセスは可能ですか?
ios - PKPass がエラー ポインターを取得するのはなぜですか?
Apple のドキュメントによると、Swift で PKPass を初期化するには、パス データとエラー ポインターの 2 つの要素が必要です。
Apple のSwift のドキュメント、エラー処理の段落によると、
Cocoa では、エラーを生成するメソッドは、最後のパラメーターとして NSError ポインター パラメーターを取り、エラーが発生した場合、その引数に NSError オブジェクトを設定します。Swift は、エラーを生成する Objective-C メソッドを、Swift のネイティブ エラー処理機能に従ってエラーをスローするメソッドに自動的に変換します。
ただし、注意事項があります。
デリゲート メソッドや NSError オブジェクト引数を持つ完了ハンドラーを取るメソッドなど、エラーを消費するメソッドは、Swift によってインポートされたときにスローされるメソッドにはなりません。
このメソッドは消費ではなく、必要に応じてポインターを使用してエラーを設定するように見えるため、Apple のエラー処理の説明に反しているようです。次のようなコードを期待していました。
私は何をひどく誤解していますか、あるいはこの明らかな不一致の理由は何ですか?
ios - 機能でウォレットがオフになっていても、アプリは App Store で「サポート ウォレット」を表示します
最近、アプリ ストアで iOS アプリをリリースしました。一部のコード ファイルは、Passkit フレームワークを参照しています。また、資格が追加されました
キーとそれぞれのチーム ID。ただし、アプリの機能内ではウォレットを無効にしています。ただし、サポート中のアプリストアのアプリの説明には、ウォレットが表示されます。誰も同じ問題に直面していますか?なぜそれが表示されるのか、誰にも手がかりがありますか?資格が追加されたからなのか、それとも Passkit を参照しているからなのか。
ios9 - 開発用パスへの http (暗号化されていない) アクセスを許可するにはどうすればよいですか?
Apple の WWDC 2012 ビデオは、Passbook パスがサーバーと通信する方法を示しています。通信をhttps(SSL)に制限することが条件です。このビデオでは、開発者が「開発者」メニューを使用して非 SSL 通信を有効にし、PassKit サブメニューで「http サービスを許可する」を選択する方法を示しました。
それはもはや選択肢ではありません。
iOS 9 と XCode 7 で同じことを実現するにはどうすればよいでしょうか?
-- 2015 年 12 月 13 日更新 --
iOS シミュレーターで「開発者 -> 設定 -> HTTP サービスを許可」にアクセスできます。これですべてですか、それとも物理デバイスでも「開発者」メニューを使用できますか? おそらくこれは私の混乱です。明確にしていただきありがとうございます。
-- 2015 年 12 月 16 日更新 --
問題は解決しました!これは、将来この問題を抱えている人への私のアドバイスです。developer.apple.com で、[Certificates, Identifiers & Profiles] に移動し、iOS の下で [Devices] を選択します。承認されたデバイスのリストが表示されます。「Provision Profiles」の下に「Developer」が表示されます。
今:
1 - 更新したメンバーシップに引き継ぐデバイスを必ず選択してください。開発者アカウントを更新すると、オンラインの開発者プロファイルでこれに関する警告が表示される場合があります。
2 - 電話が開発用に特別にプロビジョニングされていることを確認します。これは、Apple でオンラインの開発者アカウントを使用して行います。
3 - 携帯電話とワークステーションの間で、Xcode と iOS のリリース ペアが一致していることを確認します。iOS または Xcode のいずれかを更新し、もう一方を更新していない場合、これは問題です。