Hi,
We’re adding Square card reader SDK to collect payment for our iOS users recently. And we meet an issue when setting “sqrdParam.collectSignature = YES;” for checkout flow. The code is:
SQRDMoney *money = [[SQRDMoney alloc] initWithAmount:10*100];
SQRDCheckoutParameters *sqrdParam = [[SQRDCheckoutParameters alloc] initWithAmountMoney:money];
sqrdParam.additionalPaymentTypes = SQRDAdditionalPaymentTypeManualCardEntry|SQRDAdditionalPaymentTypeCash;
sqrdParam.skipReceipt = YES;
sqrdParam.collectSignature = YES;
SQRDCheckoutController *controller = [[SQRDCheckoutController alloc] initWithParameters:sqrdParam delegate:self];
[controller presentFromViewController:self.navigationController];
It will showing “processing” forever and the signature ViewController will not show up. We got the log here:
[Presentation] Attempt to present <CQSignatureViewController: 0x111009800> on <GMBaseNavController: 0x108338a00> (from <GMBaseNavController: 0x108338a00>) whose view is not in the window hierarchy.
While “GMBaseNavController” is a subclass of UINavigationControll. Did we miss something before calling “presentFromViewController”?