QR рдХреЛрдб рдЖрдЬ рд▓рдЧрднрдЧ рд╣рд░ рдЬрдЧрд╣ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдк рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ QR рдХреЛрдб рдХреА рд╕реНрдХреИрдирд┐рдВрдЧ рдФрд░ рдорд╛рдиреНрдпрддрд╛ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╕реАрдЦрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред
рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдЖрдИрдУрдПрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдореБрдЭреЗ рдЗрд╕ рддрдереНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдХрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХреНрдпреВрдЖрд░ рдХреЛрдб рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рд░реВрд╕реА рдореЗрдВ рдмрд╣реБрдд рдХрдо рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде рд╣реА рдирд┐рдкрдЯрд╛, рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдЗрд╕ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдиреБрдЪрд┐рдд рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реБрдзрд╛рд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдХрдЯреМрддреА рдХреЗ рддрд╣рдд рдЖрдкрдХреЛ рдПрдХ рдЕрддреНрдпрдВрдд рд╕рд░рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреА рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг рдорд┐рд▓реЗрдЧрд╛ рдЬреЛ рдХрд┐ рдХреНрдпреВрдЖрд░ рдХреЛрдб рдХреЛ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИ рдФрд░ рдЖрдИрдУрдПрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИред рдпрд╣ рдиреЛрдЯ Xcode рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ iOS рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдЬреНрдЮрд╛рди рдорд╛рдирддрд╛ рд╣реИред
Xcode 4.1 рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛,
Xcode рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП (рд╕рдВрд╕реНрдХрд░рдг
3.2.3 рд╕реЗ рд╢реБрд░реВ) рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реЛрдЧреАред
рд╕реНрдХреИрдирд┐рдВрдЧ рдФрд░ рдкреИрдЯрд░реНрди рдорд╛рдиреНрдпрддрд╛ рдХрд╛ рдХрд╛рд░реНрдп, рдЖрдо рддреМрд░ рдкрд░ рдмреЛрд▓рдирд╛, рдЧрдгрд┐рддреАрдп рдФрд░ рддрдХрдиреАрдХреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдХрд╛рдлреА рдХрдард┐рди рд╣реИ рдЬреЛ рдПрдХ рдмрд╛рд░рдХреЛрдб рдпрд╛ рдХреНрдпреВрдЖрд░ рдХреЛрдб рдХреЛ рдЦрд░реЛрдВрдЪ рд╕реЗ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдкреНрд░рдЧрддрд┐ рдирд╣реАрдВ рд░реБрдХрддреА рд╣реИ рдФрд░ рдХрд┐рд╕реА рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдФрд░ рдкрд╣рдЪрд╛рдирдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЬрдЯрд┐рд▓ рдХрд╛рдо рдкрд╣рд▓реЗ рд╣реА рддрдп рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рддреЛ, рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
- рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕> = 10.6.x (рд╕реНрдиреЛ рд▓реЗрдкрд░реНрдб) , рдореЗрд░реЗ рдкрд╛рд╕ рдХреНрд░рдорд╢рдГ 10.7.2 рд╢реЗрд░ рд╣реИред
- Xcode> = 3.2.3 , рдореИрдВрдиреЗ 4.1 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ред
- iPhone> = 3GS , рдореИрдВрдиреЗ iPhone 3GS рдФрд░ iPad 2 рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред
- рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ iOS 4.0 рдФрд░ рдЙрдЪреНрдЪрддрд░ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, 3.1 рднреА рд╕рдВрднрд╡ рд╣реИ)ред
- IOS рдбреЗрд╡рд▓рдкрд░ рдЦрд╛рддрд╛ рдЗрд╕рдХреЗ рдмрд┐рдирд╛, рдЖрдк рднреМрддрд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
рдЪреВрдВрдХрд┐ Xcode рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд iOS рдбрд┐рд╡рд╛рдЗрд╕ рдПрдореБрд▓реЗрдЯрд░ рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреИрдорд░рд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ -
iPhone ,
iPod Touch рдпрд╛
iPad 2 , рдЕрд░реНрдерд╛рддред рдкрд┐рдЫрд▓реЗ 2 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдХреИрдорд░реЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рдЙрдкрдХрд░рдг рдЕрдкрдиреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рд╣реИред
рдХрд╛рдо рдХреЗ рд▓рд┐рдП рднреА, рд╣рдо QR рдХреЛрдб рдХреЛ рд╕реНрдХреИрди рдХрд░рдиреЗ рдФрд░ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП SDK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ QR рдХреЛрдб рдХреА рдЧреНрд░рд╛рдлрд┐рдХ рдЫрд╡рд┐ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдЬрд╛рдирдХрд╛рд░реА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛ред рдХрдИ рддреИрдпрд╛рд░ рдУрдкрди-рд╕реЛрд░реНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИрдВ рдЬреЛ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо
ZBar iPhone SDK SDK рд╕рдВрд╕реНрдХрд░рдг 1.2 (1.2 рд╕реЗ рдКрдкрд░ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рднреА рдЙрдкрдпреБрдХреНрдд рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕реЗ
рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛
рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк
ZBarSDK-1.2inosg рдЫрд╡рд┐ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рд╣рдо
ZBarSDK рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░реБрдЪрд┐
рд▓реЗрдВрдЧреЗ , рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
1. рдПрдХреНрд╕рдХреЛрдб рдЪрд▓рд╛рдПрдВ, рдЗрд╕рдореЗрдВ рдПрдХ рдирдпрд╛
"рд╡реНрдпреВ-рдЖрдзрд╛рд░рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ, рдЗрд╕реЗ
рдХреНрдпреВрдЖрд░ рд╕реНрдХреИрдирд░ рдХрд╣реЗрдВ, рдФрд░ рдЗрд╕реЗ рдбрд┐рд╕реНрдХ рдкрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реНрдерд╛рди рдкрд░ рдХрд╣реАрдВ рдФрд░ рд╕рд╣реЗрдЬреЗрдВред
2. рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдиреЗрд╡рд┐рдЧреЗрдЯрд░ рдореЗрдВ,
QR_ScannerViewController.xib рдЦреЛрд▓реЗрдВред
3.
рд░рд╛рдЙрдВрдб рд░реЗрдХреНрдЯ рдмрдЯрди рдлреЙрд░реНрдо рдкрд░ рд░рдЦреЗрдВ рдФрд░ рдЙрд╕ рдкрд░ рд░рдЦреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯреЗрдХреНрд╕реНрдЯ
"рд╕реНрдХреИрди рдХреНрдпреВрдЖрд░ рдХреЛрдб" ред
4.
рдЫрд╡рд┐ рджреГрд╢реНрдп рддрддреНрд╡ рдХреЛ рдлреЙрд░реНрдо рдХреЗ рдКрдкрд░реА рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рд░рдЦреЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рдореЛрдб рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ рд╡реНрдпреВ рдореЛрдб рдЧреБрдг рд╕реЗрдЯ рдХрд░реЗрдВред
5. рдлреЙрд░реНрдо рдХреЗ рдирд┐рдЪрд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ
рдЯреЗрдХреНрд╕реНрдЯ рд╡реНрдпреВ рддрддреНрд╡ рд░рдЦреЗрдВ, рд╕реНрдЯрдм рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рдЗрд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рда
"рдХреНрдпреВрдЖрд░ рдХреЛрдб рдХреЛ рд╕реНрдХреИрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░реАрди рдХреЗ рдиреАрдЪреЗ рд╕реНрдерд┐рдд рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ред
" рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ рд╕рдХреНрд╖рдо рдмреЙрдХреНрд╕ рдпреВрдЬрд░ рдЗрдВрдЯрд░реЗрдХреНрд╢рди рдХреЛ рдЕрдирдЪреЗрдХ рдХрд░реЗрдВред
6. рдирд┐рдпрдВрддреНрд░рдХ рдХреЛрдб рдореЗрдВ рдЖрдЙрдЯрд▓реЗрдЯ рдЬреЛрдбрд╝реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
QR_ScannerViewController.h рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕реЗ рдЗрд╕ рдкрд░ рд▓рд╛рдПрдВ:
#import <UIKit/UIKit.h> @interface QR_ScannerViewController : UIViewController { UITextView *resultText; UIImageView *resultImage; } @property (nonatomic, retain) IBOutlet UIImageView *resultImage; @property (nonatomic, retain) IBOutlet UITextView *resultText; - (IBAction)scanButtonTapped; @end
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХреЛрдб рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдордиреЗ
UITextView рдФрд░
UIImageView рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рджреЛ
рдЖрдЙрдЯрд▓реЗрдЯ рдХреА рдШреЛрд╖рдгрд╛ рдХреА, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рдЕрдкрдиреЗ рдлреЙрд░реНрдо рдореЗрдВ рд░рдЦрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдордиреЗ IBAction рдХреА рдШреЛрд╖рдгрд╛ рдХреА, рдЬреЛ рд╣рдорд╛рд░реЗ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдЧрд╛ рдФрд░ QR рдХреЛрдб рдХреЛ рд╕реНрдХреИрди рдХрд░реЗрдЧрд╛ред
7.
QR_ScannerViewController.xib рдЦреЛрд▓реЗрдВ рдФрд░ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП
рдЖрдЙрдЯрд▓реЗрдЯ рдХреЛ рд╕рдВрдмрджреНрдз рдХрд░реЗрдВ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдкрддреНрд░ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде
рд╕реНрдХреИрди рдХрд░реЗрдВред
- рд╣рдо ImageView рддрддреНрд╡ рдХреЗ рд╕рд╛рде resultImage рдЖрдЙрдЯрд▓реЗрдЯ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред
- рд╣рдо рдЯреЗрдХреНрд╕реНрдЯ рд╡реНрдпреВ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдо рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
- рд╣рдо ScanButtonTapped рдХреНрд░рд┐рдпрд╛ рдХреЛ Round Rect Button рдХреЗ TouchUpInside рдЗрд╡реЗрдВрдЯ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
8. рдЕрдм рд╣рдореЗрдВ
QR_ScannerViewController рд╡рд░реНрдЧ рдХреЗ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдШреЛрд╖рд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
QR_ScannerViewController.m рдлрд╝рд╛рдЗрд▓
рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕реЗ рдирд┐рдореНрди рдлрд╝реЙрд░реНрдо рдореЗрдВ рд▓рд╛рдПрдБ:
#import "QR_ScannerViewController.h" @implementation QR_ScannerViewController @synthesize resultImage; @synthesize resultText; - (IBAction)scanButtonTapped{ NSLog(@"Now we are scanning QR-code..."); } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning];} - (void)viewDidUnload { [super viewDidUnload]; self.resultText = nil; self.resultImage = nil; } - (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);} - (void) dealloc { [resultImage release]; [resultText release]; [super dealloc]; }
рдпрджрд┐ рдЖрдк Xcode рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд╕реЗ рдмрд╣реБрдд рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд╕рдЪреЗрдд рди рд╣реЛрдВ - рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдиреЗ рдЗрд╕ рдлрд╛рдЗрд▓ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдб рдЬреЛрдбрд╝реЗ рд╣реИрдВред рд╣рдордиреЗ рдЕрднреА рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдШреЛрд╖рд┐рдд рд╡рд╕реНрддреБрдУрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ:
@synthesize resultImage; @synthesize resultText; - (IBAction)scanButtonTapped{ NSLog(@"Now we are scanning QR-code..."); }
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдордиреЗ рдореЗрдореЛрд░реА рд╕реЗ рдлрд╝реЙрд░реНрдо рдЕрдирд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдлреНрд░реА рдЖрдЙрдЯрд▓реЗрдЯреНрд╕ рдореЗрдВ рдХреЛрдб рдЬреЛрдбрд╝рд╛ (viewDidUnload):
self.resultText = nil; self.resultImage = nil;
рд╣рдо рднреА рдбреАрд▓-рдбреМрд▓ рдореЗрдВ рд╕реНрдореГрддрд┐ рдореБрдХреНрдд рдХрд░рддреЗ рд╣реИрдВ:
[resultImage release]; [resultText release];
9. рдЕрдм рд╣рдореЗрдВ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ
рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ ZBarSDK рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕реАрдзреЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
ZBarSDK-1.2inosg рдбрд┐рд╕реНрдХ рдЫрд╡рд┐ рдЦреЛрд▓реЗрдВ,
рдЗрд╕рдореЗрдВ ZBarSDK рдлрд╝реЛрд▓реНрдбрд░
рдвреВрдВрдвреЗрдВ рдФрд░ рдЗрд╕реЗ рдлрд╛рдЗрдВрдбрд░ рд╕реЗ Xcode рдореЗрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЦреАрдВрдЪреЗрдВред
10. рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛрдбрд╝рдиреЗ рд╣реЛрдВрдЧреЗред рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ
рд▓рдХреНрд╖реНрдп рдЧреБрдгреЛрдВ рдореЗрдВ,
рдмрд┐рд▓реНрдб рдЪрд░рдгреЛрдВ рдХреЛ рдЦреЛрд▓реЗрдВ,
рд▓рд┐рдВрдХ рдмрд╛рдЗрдирд░реА рдХреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рд╕реЗ рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕реВрдЪреА рдХреЗ рдирд┐рдЪрд▓реЗ рдмрд╛рдПрдВ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдкреНрд▓рд╕ рдЪрд┐рд╣реНрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:
- AVFoundation.framework
- CoreMedia.framework
- CoreVideo.framework
- QuartzCore.framework
- libiconv.dylib
11. рд╣рдорд╛рд░реЗ рдПрд╕рдбреАрдХреЗ рдХреЗ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЖрдпрд╛рдд рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓
"QR рд╕реНрдХреИрдирд░-рдкреНрд░реАрдлрд╝рд┐рдХреНрд╕ред Pch" рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:
#import "ZBarSDK.h"
12. рд╣рдорд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдХ рд╡рд░реНрдЧ
QR_ScannerViewController рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рдорд░реНрдерди рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ
<ZBarReaderDelegate> , рдЗрд╕рдХреЗ рд▓рд┐рдП,
QR_ScannerViewController.h рдлрд╝рд╛рдЗрд▓ рдореЗрдВ
рд╣рдо рд╡рд░реНрдЧ рдШреЛрд╖рдгрд╛
рдХреЛ рд╕рд╣реА рдХрд░реЗрдВрдЧреЗ :
@interface QR_ScannerViewController : UIViewController <ZBarReaderDelegate>{ UITextView *resultText; UIImageView *resultImage; }
13. рдЕрдм рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреИрдпрд╛рд░ рд╣реИрдВред
QR_ScannerViewController.m рдлрд╝рд╛рдЗрд▓ рдореЗрдВ
, рд╕реНрдХреИрдирдмрдЯрди рдХреЛрдб рдХреЛ рдирд┐рдореНрди рдореЗрдВ рдмрджрд▓
рджреЗрдВ :
- (IBAction)scanButtonTapped{
рдЕрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рд╕реАрдзреЗ рдЙрд╕ рджреГрд╢реНрдп рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕ рдкрд░ рдХреИрдорд░реЗ рд╕реЗ рдЪрд┐рддреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП QR рдХреЛрдб рдкрд░ рдХреИрдорд░реЗ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЙрд╕реЗ рдкрдврд╝рд╛ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
14. рд╣рд╛рд▓рд╛рдБрдХрд┐, QR рдХреЛрдб рдХреЛ рдкрдврд╝рдирд╛ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд╕рднреА рдПрдХ рд╣реА
QR_ScannerViewController.m рдореЗрдВ ):
- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { id<NSFastEnumeration> results = [info objectForKey:ZBarReaderControllerResults]; ZBarSymbol *symbol = nil; for(symbol in results)
рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреНрдпреВрдЖрд░ рдХреЛрдб рдХрд╛ рдлреЛрдЯреЛ рдЦреАрдВрдЪрдиреЗ рд╡рд╛рд▓рд╛ рджреГрд╢реНрдп рд╕реНрдХреНрд░реАрди рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдореВрд▓ рджреГрд╢реНрдп
QR_ScannerViewController.xib рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ ред рдЗрд╕ рдкреНрд░рд╕реНрддреБрддрд┐ рдореЗрдВ, рдЖрдкрдХреЛ рдХреНрдпреВрдЖрд░ рдХреЛрдб рдФрд░ рдЗрд╕ рдХреНрдпреВрдЖрд░ рдХреЛрдб рдХрд╛ рдкрд╛рда рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
15. рдмрд╕
рдЗрддрдирд╛ рд╣реА! рдЕрдЧрд▓рд╛, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ, рд╕рдВрдХрд▓рди рдХрд░реЗрдВ, рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЪрд▓рд╛рдПрдВред
16. рдХреНрдпреВрдЖрд░ рдХреЛрдб рд╕реНрдХреИрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
"рдХреНрдпреВрдЖрд░ рдХреЛрдб рд╕реНрдХреИрди рдХрд░реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдХреНрдпреВрдЖрд░ рдХреЛрдб рдЫрд╡рд┐ рдкрд░ рдХреИрдорд░реЗ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВред рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреНрдпреВрдЖрд░ рдХреЛрдб рдХреЛ "рдкрд╣рдЪрд╛рди" рдХрд░реЗрдЧрд╛, рдЗрд╕рдХреА рдПрдХ рддрд╕реНрд╡реАрд░ рд▓реЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдкрд╣рдЪрд╛рди рд▓реЗрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдЗрд╕рдореЗрдВ рдирд┐рд╣рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред
рд╣рдордиреЗ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╡рд░реНрдгрди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдПрдХ рд▓рдВрдмреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдпрд╣ рд▓реЗрдЦ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдардХ рдХреЗ рдкрд╛рд╕ Xcode рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЖрдзрд╛рд░ рд╣реИ рдЬрд┐рд╕рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рдПрдХ рднреМрддрд┐рдХ рдЙрдкрдХрд░рдг рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╕реЗ рд╣реИред рдлрд┐рд░ рднреА, рдпрджрд┐ рдкрд╛рдардХреЛрдВ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдЕрд▓рдЧ рдиреЛрдЯ рдореЗрдВ рднреМрддрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рдореИрдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рди рдХреЗрд╡рд▓ рдХреНрдпреВрдЖрд░ рдХреЛрдб, рдмрд▓реНрдХрд┐ рдХрдИ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рджреНрд╡рд┐-рдЖрдпрд╛рдореА рдХреЛрдб рдХреЛ рднреА рдкрд╣рдЪрд╛рдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рд╣рдордиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рдХреНрдпреВрдЖрд░ рдХреЛрдб рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЙрди рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕реНрд╡рддрдВрддреНрд░ рдЕрдзреНрдпрдпрди рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдпрд╣ рдмреНрдпрд╛рдЬ рджреЗрдЧрд╛ред
рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ, рдЗрд╕ рдиреЛрдЯ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдХрдИ рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ:
1.
ZBarSDK рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рд╕рд╛рдЗрдЯ2.
рдХреНрдпреВрдЖрд░ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛