0

我正在使用 XCode v.4.6,并且正在尝试制作一个使用 QR 码扫描仪的应用程序。我已按照此页面上的教程(http://iphonenativeapp.blogspot.com/2011/07/qr-code-readerscanner-for-iphone-app-in.html)复制并粘贴了此代码:

#import "QRscannerFirstViewController.h"

@interface QRscannerFirstViewController ()

@end

@implementation QRscannerFirstViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
    self.title = NSLocalizedString(@"First", @"First");
    self.tabBarItem.image = [UIImage imageNamed:@"first"];
}
return self;
}

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

#import "QRscannerFirstViewController.h"

@end
@implementation QRscannerViewController

@synthesize imgPicker,resultTextView;

-(IBAction)StartScan:(id) sender{
ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;

reader.readerView.torchMode = 0;

ZBarImageScanner *scanner = reader.scanner;
// TODO: (optional) additional reader configuration here

// EXAMPLE: disable rarely used I2/5 to improve performance
[scanner setSymbology: ZBAR_I25
               config: ZBAR_CFG_ENABLE
                   to: 0];

// present and release the controller
[self presentModalViewController: reader
                        animated: YES];

resultTextView.hidden=NO;
}

- (void) readerControllerDidFailToRead: (ZBarReaderController*) reader
                         withRetry: (BOOL) retry{
NSLog(@"the image picker failing to read");

}

- (void) imagePickerController: (UIImagePickerController*) reader           didFinishPickingMediaWithInfo: (NSDictionary*) info
{
NSLog(@"the image picker is calling successfully %@",info);
// ADD: get the decode results
id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol = nil;
NSString *hiddenData;
for(symbol in results)
    hiddenData=[NSString stringWithString:symbol.data];
NSLog(@"the symbols  is the following %@",symbol.data);
// EXAMPLE: just grab the first barcode
//  break;

// EXAMPLE: do something useful with the barcode data
//resultText.text = symbol.data;
resultTextView.text=symbol.data;


NSLog(@"BARCODE= %@",symbol.data);

NSUserDefaults *storeData=[NSUserDefaults standardUserDefaults];
[storeData setObject:hiddenData forKey:@"CONSUMERID"];
NSLog(@"SYMBOL : %@",hiddenData);
resultTextView.text=hiddenData;
[reader dismissModalViewControllerAnimated: NO];

}

@end

进入我的 .m 文件。当我将此代码放入编辑器时,我收到一条警告,说明这是如何

[reader dismissModalViewControllerAnimated: NO];

和这个

[self presentModalViewController: reader
                        animated: YES];

已在 IOS 6.0 中去除。当我运行我的应用程序并按下启动 QR 扫描仪的按钮时,我的应用程序退出,它给了我

线程 1:信号 SIGABRT

错误和亮点

    return UIApplicationMain(argc, argv, nil, NSStringFromClass([QRscannerAppDelegate class]));

推荐什么来替换它,我应该如何解决这个错误?

4

2 回答 2

1

干得好

[self presentViewController:reader animated:YES completion:Nil];

[reader dismissViewControllerAnimated:NO completion:Nil];
于 2013-02-01T23:50:43.483 回答
0

使用[self presentViewController:reader animated:YES completion:nil];[reader dismissViewControllerAnimated:NO completion:nil];

于 2013-02-01T23:49:07.953 回答