有关在App Store上处理iAP成功的问题

时间:2019-03-16 13:15:45

标签: ios swift xcode in-app-purchase

如果用户在iAP流程启动之前没有付款信息,则将应用重定向到应用商店以获取用户的付款填充信息,并且当用户已经完成付款并且付款完成时(请购买警报成功),钱就被切断了,应用商店也没有将用户重定向回应用程序,如果用户回到应用程序时也无法访问。

SKPaymentTransactionObserver没有调用,用户也没有得到任何消耗品(应用程序中的贷方)

a

仅供参考: 我的iAP是易耗品。

我该如何解决它,对不起我的英语不好

2 个答案:

答案 0 :(得分:0)

您可以实现:

func paymentQueue(_ queue: SKPaymentQueue, shouldAddStorePayment payment: SKPayment, for product: SKProduct) -> Bool {

}

有关Apple的更多信息

  

当用户开始应用内购买时,将调用此委托方法   在App Store中,交易将继续在您的应用中进行。   具体来说,如果您的应用已经安装,则该方法称为   自动。

     

如果用户启动应用程序内时尚未安装您的应用程序   在App Store购买商品时,用户会在该应用收到通知   安装完成。当用户点击   通知。否则,如果用户手动打开应用,   仅在购买后立即打开应用程序时才调用方法   开始。

答案 1 :(得分:0)

删除此行:

@IBOutlet weak var passwordTextField: UITextField!
@IBOutlet weak var usernameTextField: UITextField!
@IBOutlet weak var emailTextField: UITextField!

@IBAction func ContinueButton(_ sender: UIButton) {
    if emailTextField.text == "" {
        let alertController = UIAlertController(title: "Error",message: "Please enert your emiail and password", preferredStyle: .alert)
        let defaultAction = UIAlertAction(title: "OK", style: .cancel, handler: nil)
        present(alertController, animated: true, completion: nil)
    }
    else {
        Auth.auth().createUser(withEmail: emailTextField.text!, password: passwordTextField.text!) { (user, error) in
            if error == nil {
                print("You have successfully signed up")
                let vc = self.storyboard?.instantiateViewController(withIdentifier: "HomeController")
                self.present(vc!, animated: true, completion: nil)
            } else{
                let alertController = UIAlertController(title: "Error", message: error?.localizedDescription, preferredStyle: .alert)
                let defaultAction = UIAlertAction(title: "OK", style: .cancel, handler: nil)
                alertController.addAction(defaultAction)

                self.present(alertController,animated: true, completion:  nil)
            }
        }
    }
}

您需要您的观察者是像应用程序委托这样的永久持久对象。切勿删除它,否则商店将无法与您交谈。