card.io 不扫描

card.io does not scan

试图将 Card.io (v. 5.1.1) 集成到我的应用程序中,但在 iPhone4 iOS v. 7.1.2 中遇到了非常奇怪的问题。当它启动相机时:

  1. 它不会使相机自动对焦
  2. 如果我用东西盖住相机,它不会打开闪光灯
  3. 当我将卡片放入绿色角框时,它没有任何反应。没有 vertical/horizontal 行出现。只有一些屏幕不时滞后

奇怪的是,当我安装 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];
}

我错过了什么? 该应用程序还使用摄像头进行二维码扫描。这可能是问题所在吗?也许还有其他冲突?

谢谢!

我在 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
}

希望对您有所帮助