我正在使用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]));
建议如何更换此错误以及如何解决此错误?
答案 0 :(得分:1)
你去吧
[self presentViewController:reader animated:YES completion:Nil];
[reader dismissViewControllerAnimated:NO completion:Nil];
答案 1 :(得分:0)
使用[self presentViewController:reader animated:YES completion:nil];
和[reader dismissViewControllerAnimated:NO completion:nil];