Fix UI API called on a background thread (#550, #530, #447) (#551)

Co-authored-by: Denis Zakharov <d.zakharov@bssys.com>
This commit is contained in:
exxbrain
2020-04-09 16:54:26 +03:00
committed by GitHub
parent f33ade83e4
commit f4067e22d9
+2 -2
View File
@@ -185,6 +185,8 @@ static NSString* toBase64(NSData* data) {
- (void)showCameraPicker:(NSString*)callbackId withOptions:(CDVPictureOptions *) pictureOptions
{
// Perform UI operations on the main thread
dispatch_async(dispatch_get_main_queue(), ^{
CDVCameraPicker* cameraPicker = [CDVCameraPicker createFromPictureOptions:pictureOptions];
self.pickerController = cameraPicker;
@@ -193,8 +195,6 @@ static NSString* toBase64(NSData* data) {
// we need to capture this state for memory warnings that dealloc this object
cameraPicker.webView = self.webView;
// Perform UI operations on the main thread
dispatch_async(dispatch_get_main_queue(), ^{
// If a popover is already open, close it; we only want one at a time.
if (([[self pickerController] pickerPopoverController] != nil) && [[[self pickerController] pickerPopoverController] isPopoverVisible]) {
[[[self pickerController] pickerPopoverController] dismissPopoverAnimated:YES];