菜鸟教程小白 发表于 2022-12-13 04:43:03

iOS 7 和 ZBarReaderView 启动需要很长时间


                                            <p><p>我们正在使用 ZBarSDK 的 1.2 版(并尝试 1.3.1 测试版)在我们的应用中读取条形码。我们使用这段代码已经有一段时间了,在 iOS 5 和 6 中没有任何问题,但 iOS 7 似乎在初始化相机时出现了一些问题。当我们在 ZBarReaderView 中调用 start 方法时,初始化相机需要 30 到 60 秒甚至更长的时间。用户一直看到黑色的摄像头 View ,他们想知道应用程序是否正常工作。</p>

<p> View 初始化后,我们可以关闭它并重新打开它任意次数,没有问题,它会迅速打开。</p>

<p>这是我们代码的相关部分:</p>

<pre><code>- (void)showAnimated:(BOOL)animated
{
    ;
    dispatch_async(dispatch_queue_create(0, 0), ^{;});
    CGRect frame = self.superview.frame;
    frame.origin.y = -hiddenYOrigin;
    [UIView animateWithDuration:0.4 animations:^{
      self.superview.frame = frame;
    } completion:^(BOOL finished){
      if (((ScanController *)self.controller).scanMode == ScanModeManualEntry) {
            ;
      }
      self.showing = YES;
      ;
    }];
}
</code></pre>

<p>所有这些代码都快速执行,但是对 ZBarReaderView start 的 dispatch_queue_create 调用是我们被挂断很长时间的地方。</p>

<p>有什么想法吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您的问题可能与此有关(查看评论):</p>

<p> <a href="https://stackoverflow.com/questions/19132883/ios7-uiimageview-takes-forever-to-appear" rel="noreferrer noopener nofollow">iOS7 : UIImageView Takes Forever to Appear</a> </p>

<p>我们不知道 <code></code> 实际执行了哪些命令,但 ZBarReaderView 的文档说:</p>

<blockquote>
<p>This is a barcode reader encapsulted in a UIView.</p>
</blockquote>

<p>如果它在 UIViews 中布置 subview ,那么在后台线程中调用“start”可能是不安全的,而在 iOS6 中它不再有效,因为内部结构发生了变化。</p>

<p>尝试在主线程中初始化摄像头,看看是否有效:</p>

<pre><code> dispatch_async(dispatch_get_main_queue(), ^{;});
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iOS 7 和 ZBarReaderView 启动需要很长时间,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/19368124/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/19368124/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS 7 和 ZBarReaderView 启动需要很长时间