card.io 不扫描
card.io does not scan
试图将 Card.io (v. 5.1.1) 集成到我的应用程序中,但在 iPhone4 iOS v. 7.1.2 中遇到了非常奇怪的问题。当它启动相机时:
- 它不会使相机自动对焦
- 如果我用东西盖住相机,它不会打开闪光灯
- 当我将卡片放入绿色角框时,它没有任何反应。没有 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
}
希望对您有所帮助
试图将 Card.io (v. 5.1.1) 集成到我的应用程序中,但在 iPhone4 iOS v. 7.1.2 中遇到了非常奇怪的问题。当它启动相机时:
- 它不会使相机自动对焦
- 如果我用东西盖住相机,它不会打开闪光灯
- 当我将卡片放入绿色角框时,它没有任何反应。没有 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
}
希望对您有所帮助