尝试将Card.io(v.5.1.1)集成到我的应用程序中,并面对iPhone4 iOS v.7.1.2中的一个非常奇怪的问题。当它启动相机时:
奇怪的是,当我安装card-io-sampleApp时,它可以在同一台设备上使用相同的卡完美运行。超级有氧运动也很完美。将card-io-sampleApp控制器放入我的应用程序中没有任何区别。
(IBAction)scanButtonPressed:(id)sender
{
CardIOPaymentViewController *scanViewController = [[CardIOPaymentViewController alloc] initWithPaymentDelegate:self];
scanViewController.disableManualEntryButtons = YES;
scanViewController.suppressScanConfirmation = YES;
scanViewController.scannedImageDuration = 0.5f;
scanViewController.collectExpiry = NO;
scanViewController.scanExpiry = NO;
[self presentViewController:scanViewController animated:YES completion:nil];
}
(void)userDidCancelPaymentViewController:(CardIOPaymentViewController *)scanViewController
{
[scanViewController dismissViewControllerAnimated:YES completion:nil];
}
(void)userDidProvideCreditCardInfo:(CardIOCreditCardInfo )info inPaymentViewController:(CardIOPaymentViewController )scanViewController
{
if (info.cardNumber.length > 0) {
self.numberField.text = info.cardNumber;
}
[scanViewController dismissViewControllerAnimated:YES completion:nil];
}
我错过了什么?
该应用程序还使用相机进行QR码扫描。这可能是问题吗?也许是其他一些冲突?
谢谢!
答案 0 :(得分:0)
我发现了什么可能导致iOS 7上的这种行为
如果您在实例化CardIOPaymentViewController的地方有无限动画,它将无法正常工作。
导致问题的代码段
- (void)animate:(UIView *)v
{
[UIView animateWithDuration:.8 delay:0 options:UIViewAnimationOptionAllowUserInteraction animations:^ {
// some animation
} completion:^(BOOL finished) {
[self animate:v];
}];
}
因此,当您出示扫描仪或控制器消失时停止动画。
- (void) viewDidDisappear:(BOOL)animated {
// stop animation here
}
希望这有帮助