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]));
これを置き換えるために推奨されるものと、このエラーを修正するにはどうすればよいですか?