替换什么[读者dismissModalViewControllerAnimated:没有?

时间:2013-02-01 23:46:10

标签: ios ios6 qr-code

我正在使用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]));

建议如何更换此错误以及如何解决此错误?

2 个答案:

答案 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];