ZBar的.a静态库文件报错


首先Zbar是开源的我们在github上可以下载到Zbar的 源文件 如:https://github.com/twotoasters/zbar  和 zbar的SDK https://github.com/bmorton/ZBarSDK


源文件是用来生成SDK用的,  既然下载的静态库.a不能用,那我们直接用源文件生成.a文件 步奏如下:

1、打开下载的源文件并解压,找到里面的iphone文件夹,删除examples 文件夹,然后直接双击打开zbar.xcodeproj

2、选中工程--project--Build Settings --(搜索)Valid Architectures  添加 arm64;再添加armv7;再添加arm7s;再添加i386;再添加x86_64

     选中工程--project--Build Settings --(搜索)Architectures  选中刚才设置的。

如图:


3、然后连上手机  选中手机commend +b编译 (此处有人说 不能连手机,但是我不练手机编译不成功,连上手机反倒成功了,所以出问题别找我哈).

4、工程目录Products下  libzbar.a右键  在find中查看就可以发现有两个文件夹  Debug-ipheos和Debugi-phonedimmulator可以去调试了.

5、如果要真机和模拟器静态库合并 在终端执行下面代码:

    lipo -create + 真机.a文件 (此处有空格)+ 模拟器.a文件 + -output + 输出的合并文件。

    lipo -create /Users/Jianyi_Tech/Desktop/JYZbar/JINTtanku/Debug-iphoneos/libzbar.a /Users/Jianyi_Tech/Desktop/JYZbar/JINTtanku/Debug-iphonesimulator/libzbar.a -output /Users/Jianyi_Tech/Desktop/JYZbar/JINTtanku/he/libzbar.a




ZBar的使用方法:

zbar给我们提供了两种 方法一个是创建一个VIew的扫描视图 ,一个是创建一个Viewcontorller的摄像机扫描控制器,我比较喜欢用一个view  方便控制视图的组件 所以只介绍第一种方法。


1、将ZbarSDK文件夹拖入工程 (其中包括 headers文件夹、libzbar.a文件和Resources文件夹)。

 然后 代码如下:.h中

#import <UIKit/UIKit.h>
#import "ZBarSDK.h"

@interface JYZBarViewController : UIViewController<ZBarReaderViewDelegate>
@property (nonatomic,strong) ZBarReaderView *readerView;

@end


.m中如下

#import "JYZBarViewController.h"

@interface JYZBarViewController ()

@end

@implementation JYZBarViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    [self creatUI];
}
-(void)creatUI{
    //创建扫描窗
    _readerView = [[ZBarReaderView alloc]init];
    _readerView.frame =self.view.frame;
    [self.view addSubview:_readerView];
    
    //设置代理
    _readerView.readerDelegate = self;
    //关闭闪光灯
    _readerView.torchMode = 0;
    //扫描区域计算  值范围是  0-1
    //    _readerView.scanCrop = CGRectMake(0.1, 0.1, 0.5, 0.5);
    _readerView.scanCrop = [self scanCropRect1];
    [_readerView start];//开始扫描
}
//条形码
-(CGRect)scanCropRect1{
    float screenWide = [UIScreen mainScreen].bounds.size.width;
    float screenHeight = [UIScreen mainScreen].bounds.size.height;
    float scanCropWide = 200.0;
    float scanCropHeight = screenHeight -44*2;
    return CGRectMake( 44.0/screenHeight,((screenWide - scanCropWide)/2.0)/screenWide, scanCropHeight/screenHeight, scanCropWide/screenWide);
}
#pragma mark - <ZBarReaderViewDelegate>
- (void)readerView:(ZBarReaderView *)readerView didReadSymbols:(ZBarSymbolSet *)symbols fromImage:(UIImage *)image
{
    for (ZBarSymbol *symbol in symbols) {
        NSLog(@"-----%@", symbol.data);
        break;
        
    }
    [self.readerView stop];
    [self dismissViewControllerAnimated:YES completion:nil];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


            

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值