Skip to content

Commit

Permalink
Merge pull request #36 from PDF417/feature/v5.1.0
Browse files Browse the repository at this point in the history
Feature/v5.1.0
  • Loading branch information
Cerovec authored Jun 28, 2017
2 parents 336a125 + e12eace commit af1bb13
Show file tree
Hide file tree
Showing 118 changed files with 4,228 additions and 600 deletions.
1 change: 1 addition & 0 deletions .swift-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.1
56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,61 @@
# Release notes

## 5.1.0

- Updates and additions:
- Microblink.framework is now a dynamic framework. The change is introduced because of the following reasons:
- isolation of code
- better interop with third party libraries
- Improved Screen shown when Camera permission is not granted:
- fixed crash which happened on tap anywhere on screen
- close button can now be removed (for example, if the scanning screen is inside `UINavigationController` instance)
- Header is now public so you can instantiate that class if needed
- Updated PPUiSettings with new features:
- flag `showStatusBar` which you can use to show or hide status bar on camera screen
- flag `showCloseButton` which you can use to show or hide close button on camera screen. By default it's presented, but when inside `UINavigationController` it should be hidden
- flat `showTorchButton` which you can use to show or hide torch button on camera screen.
- Renamed internal extension method with namespace so that they don't interfere with third party libraries
- Added standard tap to focus overlay subview in all default OverlayViewControllers. Also added it as a public header.
- PPScanningViewController now has a simple method to turn on torch
- added play success sound method to `PPScanningViewController` protocol

- Added feature to enable frame quality estimation when using Direct API (by exposing property estimateFrameQuality)
- Internal switch to new build system using cmake. This allows faster deployments and easier updates in the future

- Deprecated `PPHelpDisplayMode`. It still works, but ideally, you should replace it with a custom logic for presenting help inside the application using the SDK.
- `PPAztecRecognizerResult` and `PPAztecRecognizerSettings` are now deprecated. Use `PPBarcodeRecognizerResult` and `PPBarcodeRecognizerSettings`
- `PPBarDecoderRecognizerResult` and `PPBarDecoderRecognizerSettings` are now deprecated. Use `PPBarcodeRecognizerResult` and `PPBarcodeRecognizerSettings`
- `PPZXingRecognizerResult` and `PPZXingRecognizerSettings` are now deprecated. Use `PPBarcodeRecognizerResult` and `PPBarcodeRecognizerSettings`

- Bugfixes:
- Fixed bug which caused didOutputResults: not to get called in DirectAPI
Fixed case sensitivity in class & file naming
- Fixed issue which sometimes caused scanning not to be started when the user is asked for camera permission (first run of the app)
- Fixed rare crash which Camera paused label UI being updated on background thread
- Fixed incorrect handling of camera mirror when using front facing camera
- Fixed crash which sometimes happened when presenting help screens (if `PPHelpDisplayModeAlways` or `PPHelpDisplayModeFirstRun` were used)
- Fixed issue with blurred camera display when `PPCoordinator` instance was reused between consecutive scanning sessions
- Fixed crashed which happened when multiple instances of `PPCoordinator` were used simultaneously (one being terminated and one starting recognition). This most commonly happened when after scanning session, a new view controller was pushed to a Navigation View Controller, when the user repeated the procedure a number of times (five or more).
- Fixed nullability annotations in result classes. Now, wherever the `nil`value is allowed, it means no data exists on the scanned document. If an empty string `@""` is returned, this means the field exist, but it's empty.
- Fixed an issue which caused camera settings to be reset each time PPCoordinator's applySettings method was called.
- Fixed crash on start in swift if custom UI was used to handle detector results
- Fixed crash when the user tapped anywhere on the view controller presented when camera permission wasn't allowed
- Fixed Torch button on default camera overlays. Previously it never changed state after it was turned on.
- Fixed crash when Single dispatch queue was used for processing
- Fixed issue with Direct API which disabled processing
- Fixed internal bug which caused crashes if `PPCoordinator applySettings` was called with the same Recognizer settings (this is a very rare use case)
- Fixed Czech translation
- Fixed Czech QR Code amount scanning - improved parsing of amounts with less than 2 decimals

- Improvements in PhotoPay scanning:
- Improved reading of pdf417 barcodes having width:height bar aspect ratio less than 2:1

- Changes in Samples:
- Added libz to all samples to prevent linker errors (caused by slimming down the SDK)
- Samples updated to use new dynamic framework
- Added a build phase in each sample which removes unused architectures from the dynamic framework


## 5.0.5

- US Driver's Licence:
Expand Down
Binary file modified MicroBlink.bundle/Info.plist
Binary file not shown.
Binary file added MicroBlink.bundle/MicroBlink
Binary file not shown.
Binary file added MicroBlink.bundle/No Camera-100.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified MicroBlink.bundle/arrow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified MicroBlink.bundle/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified MicroBlink.bundle/arrow_pressed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified MicroBlink.bundle/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified MicroBlink.bundle/en.strings
Binary file not shown.
Binary file modified MicroBlink.bundle/torchoff.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified MicroBlink.bundle/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified MicroBlink.bundle/torchoff_pressed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified MicroBlink.bundle/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified MicroBlink.bundle/torchon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified MicroBlink.bundle/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified MicroBlink.bundle/torchon_pressed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified MicroBlink.bundle/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions MicroBlink.framework/Headers/MicroBlink.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@
#import "PPModernOverlayViewController.h"
#import "PPOverlaySubview.h"

// Permission denied view controller
#import "PPPermissionDeniedViewController.h"

// Detectors
#import "PPPointsDetectorResult.h"
#import "PPQuadDetectorResult.h"
Expand Down
80 changes: 80 additions & 0 deletions MicroBlink.framework/Headers/PPApp.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
//
// App.h
// iphone-photopay
//
// Created by Ja on 11/2/11.
// Copyright (c) 2011 [email protected]. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "PPMicroBlinkDefines.h"

#ifdef __OBJC__
#import <UIKit/UIKit.h>
#endif

#define PP_IS_IPAD (([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad))

/*
* System Versioning Preprocessor Macros
*/

#define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) \
([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) \
([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)

#define PP_NOTIFY(notificationKey, valueKey) \
{ \
NSDictionary *dict = [NSDictionary dictionaryWithObject:@(YES) forKey:valueKey]; \
[[NSNotificationCenter defaultCenter] postNotificationName:notificationKey object:nil userInfo:dict]; \
}

PP_CLASS_AVAILABLE_IOS(6.0)
@interface PPApp : NSObject

@property (nonatomic) NSString *language;

/** Bundle with resources used in framework */
@property (nonatomic) NSBundle *resourcesBundle;

/** Obtain the shared instance */
+ (instancetype)instance;

/** Designated initializer */
- (id)init;

/** Sets the language used in PhotoPaySDK */
- (void)setLanguage:(NSString *)language;

/** Sets the language to default (i.e. language specified in the user's device settings */
- (void)setDefaultLanguage;

/** Pushes the UIApplication status bar style to a internally handled stack */
- (void)pushStatusBarStyle:(UIStatusBarStyle)statusBarStyle;

/** Returns the status bar style to the last saved value */
- (void)popStatusBarStyle;

/** Push the status bar hidden value */
- (void)pushStatusBarHidden:(BOOL)hidden;

/** pops the status bar hidden value */
- (void)popStatusBarHidden;

/** Sets the key that the help was shown to true */
- (void)setHelpShown:(BOOL)value;

/** Returns true if the help was already shown */
- (BOOL)isHelpShown;

/**
* This method check existance of the default resources bundle Microblink.bundle,
* and throws an exception if it's missing
*/
+ (NSBundle *)verifyAndGetDefaultResourcesBundle;

@end
29 changes: 13 additions & 16 deletions MicroBlink.framework/Headers/PPBarDecoderRecognizerResult.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,28 +12,27 @@
/**
* Type of the barcode which BarDecoderRecognizer returnes
*/
typedef NS_ENUM(NSUInteger, PPBarDecoderBarcodeType){
typedef PP_DEPRECATED_IOS(1_0, 5_9_3) NS_ENUM(NSUInteger, PPBarDecoderBarcodeType) {
/** Code 128 */
PPBarDecoderBarcodeTypeCode128,
/** Code 39 */
PPBarDecoderBarcodeTypeCode39
};

NS_ASSUME_NONNULL_BEGIN

/**
* Result of scanning with BarDecoder Recognizer
*
* Contains raw Barcode detailed data, barcode type, and methods for getting string representation of results.
*/
PP_CLASS_AVAILABLE_IOS(6.0) @interface PPBarDecoderRecognizerResult : PPRecognizerResult
PP_CLASS_DEPRECATED_IOS(1_0, 5_9_3, "Use PPBarcodeRecognizerResult instead")
@interface PPBarDecoderRecognizerResult : PPRecognizerResult

/**
* Type of the barcode scanned
*
* @return Type of the barcode
*/
- (PPBarDecoderBarcodeType)barcodeType;
- (PPBarDecoderBarcodeType)barcodeType PP_DEPRECATED_IOS(1_0, 5_9_3, "Use PPBarcodeType instead");

/**
* Flag indicating uncertain scanning data
Expand All @@ -44,7 +43,7 @@ PP_CLASS_AVAILABLE_IOS(6.0) @interface PPBarDecoderRecognizerResult : PPRecogniz
/**
* Byte array with result of the scan
*/
- (NSData *)data;
- (NSData *_Nullable)data;

/**
* Retrieves string content of the scanned data using guessed encoding.
Expand All @@ -57,7 +56,7 @@ PP_CLASS_AVAILABLE_IOS(6.0) @interface PPBarDecoderRecognizerResult : PPRecogniz
*
* @return created string, or nil if encoding couldn't be found.
*/
- (NSString *)stringUsingGuessedEncoding;
- (NSString *_Nullable)stringUsingGuessedEncoding;

/**
* Retrieves string content of the scanned data using given encoding.
Expand All @@ -66,18 +65,18 @@ PP_CLASS_AVAILABLE_IOS(6.0) @interface PPBarDecoderRecognizerResult : PPRecogniz
*
* @return String created from data property, using given encoding
*/
- (NSString *)stringUsingEncoding:(NSStringEncoding)encoding;
- (NSString *_Nullable)stringUsingEncoding:(NSStringEncoding)encoding;

/**
* Raw barcode detailed result
*/
- (PPBarcodeDetailedData *)rawData;
- (PPBarcodeDetailedData *_Nullable)rawData;


/**
* Byte array with extended result of the scan, if available.
*/
- (NSData *)extendedData;
- (NSData *_Nullable)extendedData;

/**
* Retrieves string content of the extended scanned data using guessed encoding.
Expand All @@ -90,7 +89,7 @@ PP_CLASS_AVAILABLE_IOS(6.0) @interface PPBarDecoderRecognizerResult : PPRecogniz
*
* @return created string, or nil if encoding couldn't be found.
*/
- (NSString *)extendedStringUsingGuessedEncoding;
- (NSString *_Nullable)extendedStringUsingGuessedEncoding;

/**
* Retrieves string content of the extended scanned data using given encoding.
Expand All @@ -99,12 +98,12 @@ PP_CLASS_AVAILABLE_IOS(6.0) @interface PPBarDecoderRecognizerResult : PPRecogniz
*
* @return String created from extendedData property, using given encoding
*/
- (NSString *)extendedStringUsingEncoding:(NSStringEncoding)encoding;
- (NSString *_Nullable)extendedStringUsingEncoding:(NSStringEncoding)encoding;

/**
* Extended Raw barcode detailed result
*/
- (PPBarcodeDetailedData *)extendedRawData;
- (PPBarcodeDetailedData *_Nullable)extendedRawData;

/**
* Method which gives string representation for a given PPBarDecoderBarcodeType enum value.
Expand All @@ -113,8 +112,6 @@ PP_CLASS_AVAILABLE_IOS(6.0) @interface PPBarDecoderRecognizerResult : PPRecogniz
*
* @return String representation of a given PPBarDecoderBarcodeType enum value.
*/
+ (NSString *)toTypeName:(PPBarDecoderBarcodeType)type;
+ (NSString *_Nonnull)toTypeName:(PPBarDecoderBarcodeType)type PP_DEPRECATED_IOS(1_0, 5_9_3, "Use PPBarcodeType instead");

@end

NS_ASSUME_NONNULL_END
11 changes: 6 additions & 5 deletions MicroBlink.framework/Headers/PPBarDecoderRecognizerSettings.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@
* Settings class for configuring BarDecoder Recognizer
*
* BarDecoder recognizer is used for scanning Code 39 and Code 128 barcodes and is superior in performance
* to ZXIngRecognizer
* to ZXingRecognizer
*/
PP_CLASS_AVAILABLE_IOS(6.0) @interface PPBarDecoderRecognizerSettings : PPRecognizerSettings
PP_CLASS_DEPRECATED_IOS(1_0, 5_9_3, "Use PPBarcodeRecognizerSettings instead")
@interface PPBarDecoderRecognizerSettings : PPRecognizerSettings

/**
* Set this to YES to scan Code 39 barcodes
Expand Down Expand Up @@ -42,16 +43,16 @@ PP_CLASS_AVAILABLE_IOS(6.0) @interface PPBarDecoderRecognizerSettings : PPRecogn

/**
* Use automatic scale detection feature. This normally should not be used.
* The only situation where this helps in getting better scanning results is
* when using kPPUseVideoPresetPhoto on iPad devices.
* The only situation where this helps in getting better scanning results is
* when using kPPUseVideoPresetPhoto on iPad devices.
* Video preview resoution of 2045x1536 in that case is very large and autoscale helps.
*
* Default: NO
*/
@property (nonatomic) BOOL autoDetectScale;

/**
* Set this to YES to enable scanning of lower resolution barcodes
* Set this to YES to enable scanning of lower resolution barcodes
* at cost of additional processing time.
*
* Default: NO
Expand Down
9 changes: 5 additions & 4 deletions MicroBlink.framework/Headers/PPBarcodeDetailedData.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ typedef NS_ENUM(NSInteger, PPBarcodeElementType) {
/**
* represents one raw element in barcode
*/
PP_CLASS_AVAILABLE_IOS(6.0) @interface PPBarcodeElement : NSObject
PP_CLASS_AVAILABLE_IOS(6.0)
@interface PPBarcodeElement : NSObject

/** byte array contained in this barcode element */
@property (nonatomic, retain, readonly) NSData *elementBytes;
Expand All @@ -35,15 +36,15 @@ PP_CLASS_AVAILABLE_IOS(6.0) @interface PPBarcodeElement : NSObject
/**
Designated initializer shich sets byte array for specific barcode element type
*/
- (instancetype)initWithBytes:(NSData *)bytes
type:(PPBarcodeElementType)type;
- (instancetype)initWithBytes:(NSData *)bytes type:(PPBarcodeElementType)type;

@end

/**
* represents the collection of barcode raw elements
*/
PP_CLASS_AVAILABLE_IOS(6.0) @interface PPBarcodeDetailedData : NSObject
PP_CLASS_AVAILABLE_IOS(6.0)
@interface PPBarcodeDetailedData : NSObject

/** array of barcode elements (PPBarcodeElement *) contained in barcode */
@property (nonatomic, retain, readonly) NSArray *barcodeElements;
Expand Down
14 changes: 14 additions & 0 deletions MicroBlink.framework/Headers/PPBarcodeOverlayViewController.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//
// PPBarcodeOverlayViewController.h
// BarcodeFramework
//
// Created by Jura on 22/12/13.
// Copyright (c) 2015 MicroBlink Ltd. All rights reserved.
//

#import "PPBaseBarcodeOverlayViewController.h"

PP_CLASS_AVAILABLE_IOS(6.0)
@interface PPBarcodeOverlayViewController : PPBaseBarcodeOverlayViewController

@end
Loading

0 comments on commit af1bb13

Please sign in to comment.