object-c - iOS 側の Alipay と統合されたモバイル Web サイトの支払いが APP 支払いに転送され、H5 をアクティブ化できません。
迷茫
迷茫 2017-05-02 09:37:04
0
0
786

最近、Alipay SDK に接続してモバイル決済機能を実装しました。公式サイトから最新のDEMOをダウンロードし、パラメータを設定すると正常に動作します。次に、チュートリアルを段階的に実行して、注意すべき点すべてに注意してコンパイルします。携帯電話には Alipay クライアントがインストールされているため、Appdelegate で同期結果を取得する必要があります。コードは次のとおりです (Swift):

関数アプリケーション(アプリケーション: UIApplication、openURL URL: NSURL、sourceApplication: String?、アノテーション: AnyObject) -> Bool {

リーリー

}

// 注: 新しい API インターフェイスは 9.0 以降で使用されます。
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {

リーリー

}
実機で実行し、Alipay にジャンプして支払いが成功した後、自分のアプリに戻ると、コンソールは同期結果 (ステータスは 9000、支払い成功) を出力できますが、 AlipaySDK.defaultService().processOrderWithPaymentResult メソッドでは、プログラムが直接クラッシュして停止します。コンソールには (lldb) が表示されます。

次に、AlipaySDK.defaultService().processOrderWithPaymentResult メソッドをブロックしようとしましたが、クラッシュすることなく正常に実行されました。別の実機でテストしました。この実機には Alipay クライアントがインストールされていないため、H5 で支払いが完了すると、次のように表示されます。

AlipaySDK.defaultService().payUrlOrder(orderString as String, fromScheme: appScheme, callback: { (resultDic) in

リーリー

同期結果はメソッドで取得されますが、今回はコンソールが同期結果を出力せず、直接クラッシュします。

これは、同期結果を取得するメソッドを呼び出すとすぐにクラッシュすることを意味します。仕方なく、テスト用に新しい Swift プロジェクトを作成し、同じ方法で Alipay SDK を統合し、同じコードを使用したところ、正常に動作し、クラッシュはまったく発生しませんでした。他のサードパーティ ライブラリと競合しているのではないかと思いますが、以前に 2 つのサードパーティ ライブラリ間で競合が発生したことがあります。これは通常、再定義の問題であり、コンパイルが通過しません。

何が問題なのかまったく分かりません。この問題に遭遇したことのある人がいるかどうか尋ねたいのですが。ありがとうございます。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(0)
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート