ios build

fix_ssl_master
Serik Uvaissov 2021-04-15 10:14:01 +06:00
parent 2a3519500e
commit 09062fb8a3
8 changed files with 81 additions and 27 deletions

View File

@ -3,14 +3,20 @@ PODS:
- Flutter - Flutter
- MTBBarcodeScanner - MTBBarcodeScanner
- SwiftProtobuf - SwiftProtobuf
- charset_converter (0.0.1):
- Flutter
- device_info (0.0.1): - device_info (0.0.1):
- Flutter - Flutter
- esys_flutter_share (0.0.1): - esys_flutter_share (0.0.1):
- Flutter - Flutter
- Flutter (1.0.0) - Flutter (1.0.0)
- flutter_bluetooth_basic (0.0.1):
- Flutter
- FMDB (2.7.5): - FMDB (2.7.5):
- FMDB/standard (= 2.7.5) - FMDB/standard (= 2.7.5)
- FMDB/standard (2.7.5) - FMDB/standard (2.7.5)
- local_auth (0.0.1):
- Flutter
- MTBBarcodeScanner (5.0.11) - MTBBarcodeScanner (5.0.11)
- path_provider (0.0.1): - path_provider (0.0.1):
- Flutter - Flutter
@ -25,9 +31,12 @@ PODS:
DEPENDENCIES: DEPENDENCIES:
- barcode_scan (from `.symlinks/plugins/barcode_scan/ios`) - barcode_scan (from `.symlinks/plugins/barcode_scan/ios`)
- charset_converter (from `.symlinks/plugins/charset_converter/ios`)
- device_info (from `.symlinks/plugins/device_info/ios`) - device_info (from `.symlinks/plugins/device_info/ios`)
- esys_flutter_share (from `.symlinks/plugins/esys_flutter_share/ios`) - esys_flutter_share (from `.symlinks/plugins/esys_flutter_share/ios`)
- Flutter (from `Flutter`) - Flutter (from `Flutter`)
- flutter_bluetooth_basic (from `.symlinks/plugins/flutter_bluetooth_basic/ios`)
- local_auth (from `.symlinks/plugins/local_auth/ios`)
- path_provider (from `.symlinks/plugins/path_provider/ios`) - path_provider (from `.symlinks/plugins/path_provider/ios`)
- shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`)
- sqflite (from `.symlinks/plugins/sqflite/ios`) - sqflite (from `.symlinks/plugins/sqflite/ios`)
@ -42,12 +51,18 @@ SPEC REPOS:
EXTERNAL SOURCES: EXTERNAL SOURCES:
barcode_scan: barcode_scan:
:path: ".symlinks/plugins/barcode_scan/ios" :path: ".symlinks/plugins/barcode_scan/ios"
charset_converter:
:path: ".symlinks/plugins/charset_converter/ios"
device_info: device_info:
:path: ".symlinks/plugins/device_info/ios" :path: ".symlinks/plugins/device_info/ios"
esys_flutter_share: esys_flutter_share:
:path: ".symlinks/plugins/esys_flutter_share/ios" :path: ".symlinks/plugins/esys_flutter_share/ios"
Flutter: Flutter:
:path: Flutter :path: Flutter
flutter_bluetooth_basic:
:path: ".symlinks/plugins/flutter_bluetooth_basic/ios"
local_auth:
:path: ".symlinks/plugins/local_auth/ios"
path_provider: path_provider:
:path: ".symlinks/plugins/path_provider/ios" :path: ".symlinks/plugins/path_provider/ios"
shared_preferences: shared_preferences:
@ -59,10 +74,13 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS: SPEC CHECKSUMS:
barcode_scan: a5c27959edfafaa0c771905bad0b29d6d39e4479 barcode_scan: a5c27959edfafaa0c771905bad0b29d6d39e4479
charset_converter: 215c7b04932ec2b9ba43be96a9bc34afed3e5322
device_info: d7d233b645a32c40dfdc212de5cf646ca482f175 device_info: d7d233b645a32c40dfdc212de5cf646ca482f175
esys_flutter_share: 403498dab005b36ce1f8d7aff377e81f0621b0b4 esys_flutter_share: 403498dab005b36ce1f8d7aff377e81f0621b0b4
Flutter: 0e3d915762c693b495b44d77113d4970485de6ec Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c
flutter_bluetooth_basic: 0e4e27e22b50b3a25cc1d1e131953feb4af414f4
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
local_auth: 25938960984c3a7f6e3253e3f8d962fdd16852bd
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c
shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d
@ -72,4 +90,4 @@ SPEC CHECKSUMS:
PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c
COCOAPODS: 1.8.4 COCOAPODS: 1.10.1

View File

@ -255,12 +255,13 @@
inputPaths = ( inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh", "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework", "${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework",
"${PODS_ROOT}/../Flutter/Flutter.framework",
"${BUILT_PRODUCTS_DIR}/MTBBarcodeScanner/MTBBarcodeScanner.framework", "${BUILT_PRODUCTS_DIR}/MTBBarcodeScanner/MTBBarcodeScanner.framework",
"${BUILT_PRODUCTS_DIR}/SwiftProtobuf/SwiftProtobuf.framework", "${BUILT_PRODUCTS_DIR}/SwiftProtobuf/SwiftProtobuf.framework",
"${BUILT_PRODUCTS_DIR}/barcode_scan/barcode_scan.framework", "${BUILT_PRODUCTS_DIR}/barcode_scan/barcode_scan.framework",
"${BUILT_PRODUCTS_DIR}/charset_converter/charset_converter.framework",
"${BUILT_PRODUCTS_DIR}/device_info/device_info.framework", "${BUILT_PRODUCTS_DIR}/device_info/device_info.framework",
"${BUILT_PRODUCTS_DIR}/esys_flutter_share/esys_flutter_share.framework", "${BUILT_PRODUCTS_DIR}/esys_flutter_share/esys_flutter_share.framework",
"${BUILT_PRODUCTS_DIR}/local_auth/local_auth.framework",
"${BUILT_PRODUCTS_DIR}/path_provider/path_provider.framework", "${BUILT_PRODUCTS_DIR}/path_provider/path_provider.framework",
"${BUILT_PRODUCTS_DIR}/shared_preferences/shared_preferences.framework", "${BUILT_PRODUCTS_DIR}/shared_preferences/shared_preferences.framework",
"${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework", "${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework",
@ -269,12 +270,13 @@
name = "[CP] Embed Pods Frameworks"; name = "[CP] Embed Pods Frameworks";
outputPaths = ( outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MTBBarcodeScanner.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MTBBarcodeScanner.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftProtobuf.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftProtobuf.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/barcode_scan.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/barcode_scan.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/charset_converter.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/device_info.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/device_info.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/esys_flutter_share.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/esys_flutter_share.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/local_auth.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework",
@ -391,7 +393,7 @@
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 6;
DEVELOPMENT_TEAM = 94BM6VL7L8; DEVELOPMENT_TEAM = 94BM6VL7L8;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
@ -528,7 +530,7 @@
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 6;
DEVELOPMENT_TEAM = 94BM6VL7L8; DEVELOPMENT_TEAM = 94BM6VL7L8;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
@ -560,7 +562,7 @@
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 6;
DEVELOPMENT_TEAM = 94BM6VL7L8; DEVELOPMENT_TEAM = 94BM6VL7L8;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (

View File

@ -2,6 +2,6 @@
<Workspace <Workspace
version = "1.0"> version = "1.0">
<FileRef <FileRef
location = "group:Runner.xcodeproj"> location = "self:">
</FileRef> </FileRef>
</Workspace> </Workspace>

View File

@ -26,8 +26,17 @@
</array> </array>
<key>LSRequiresIPhoneOS</key> <key>LSRequiresIPhoneOS</key>
<true/> <true/>
<key>NSBluetoothAlwaysUsageDescription</key>
<string>Требуется доступ к Bluetooth для подключения к принтерам и печати чеков</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>Требуется доступ к Bluetooth для подключения к принтерам и печати чеков</string>
<key>NSCameraUsageDescription</key> <key>NSCameraUsageDescription</key>
<string>Требуется доступ к камере для сканирования QR-кодов и штрих-кодов</string> <string>Требуется доступ к камере для сканирования QR-кодов и штрих-кодов</string>
<key>UIBackgroundModes</key>
<array>
<string>bluetooth-central</string>
<string>bluetooth-peripheral</string>
</array>
<key>UILaunchStoryboardName</key> <key>UILaunchStoryboardName</key>
<string>LaunchScreen</string> <string>LaunchScreen</string>
<key>UIMainStoryboardFile</key> <key>UIMainStoryboardFile</key>

View File

@ -45,6 +45,15 @@ class _ImageShowContainerState extends State<ImageShowContainer> {
return; return;
} }
bool isIos = Platform.isIOS;
int chunkSizeBytes = 3096;
int queueSleepTimeMs = 50;
if(isIos){
chunkSizeBytes = 75;
queueSleepTimeMs = 10;
}
setState(() { setState(() {
_printing = true; _printing = true;
}); });
@ -56,8 +65,8 @@ class _ImageShowContainerState extends State<ImageShowContainer> {
if (SettingPrinterEncodingImage == state.printerEncoding) { if (SettingPrinterEncodingImage == state.printerEncoding) {
final PosPrintResult res = await printerManager.printTicket( final PosPrintResult res = await printerManager.printTicket(
await printImageCheck(paper, widget.showModel.data.base64Data), await printImageCheck(paper, widget.showModel.data.base64Data),
chunkSizeBytes: 3096, chunkSizeBytes: chunkSizeBytes,
queueSleepTimeMs: 50); queueSleepTimeMs: queueSleepTimeMs);
if (res.value != 1) { if (res.value != 1) {
_dialogService.showDialog(description: res.msg); _dialogService.showDialog(description: res.msg);
} }
@ -66,8 +75,8 @@ class _ImageShowContainerState extends State<ImageShowContainer> {
await printTextCheck( await printTextCheck(
paper, state.printerEncoding, paper, state.printerEncoding,
jsonDecode(widget.showModel.data.textData)), jsonDecode(widget.showModel.data.textData)),
chunkSizeBytes: 3096, chunkSizeBytes: chunkSizeBytes,
queueSleepTimeMs: 50); queueSleepTimeMs: queueSleepTimeMs);
if (res.value != 1) { if (res.value != 1) {
_dialogService.showDialog(description: res.msg); _dialogService.showDialog(description: res.msg);
} }

View File

@ -124,7 +124,7 @@ Future<Ticket> testTicketImage(PaperSize paper) async {
//ticket.imageRaster(imagea); //ticket.imageRaster(imagea);
// Using `GS ( L` // Using `GS ( L`
ticket.imageRaster(imagea, imageFn: PosImageFn.bitImageRaster); ticket.imageRaster(imagea, imageFn: PosImageFn.bitImageRaster);
//ticket.image(imagea);
ticket.feed(2); ticket.feed(2);
@ -147,7 +147,7 @@ Future<Ticket> printImageCheck(PaperSize paper, String base64Src) async {
Future<Ticket> printTextCheck(PaperSize paper, String encoding, var data ) async { Future<Ticket> printTextCheck(PaperSize paper, String encoding, var data ) async {
final Ticket ticket = Ticket(paper); final Ticket ticket = Ticket(paper);
ticket.emptyLines(1);
PosCodeTable codeTable; PosCodeTable codeTable;
@ -157,7 +157,7 @@ Future<Ticket> printTextCheck(PaperSize paper, String encoding, var data ) async
codeTable = PosCodeTable.wpc1251; codeTable = PosCodeTable.wpc1251;
} }
ticket.setGlobalCodeTable(codeTable); //ticket.setGlobalCodeTable(codeTable);
ticket.setGlobalFont(PosFontType.fontB); ticket.setGlobalFont(PosFontType.fontB);
@ -176,12 +176,12 @@ Future<Ticket> printTextCheck(PaperSize paper, String encoding, var data ) async
PosColumn( PosColumn(
textEncoded: firstCol, textEncoded: firstCol,
width: 6, width: 6,
styles: PosStyles(align: PosAlign.left), styles: PosStyles(align: PosAlign.left, codeTable: codeTable ),
), ),
PosColumn( PosColumn(
textEncoded: lastCol, textEncoded: lastCol,
width: 6, width: 6,
styles: PosStyles(align: PosAlign.right), styles: PosStyles(align: PosAlign.right, codeTable: codeTable ),
), ),
]); ]);
} else { } else {
@ -190,9 +190,13 @@ Future<Ticket> printTextCheck(PaperSize paper, String encoding, var data ) async
ticket.hr(); ticket.hr();
} else if(line == 'br') { } else if(line == 'br') {
ticket.emptyLines(1); ticket.emptyLines(1);
} else if(line.trim() == '') {
ticket.emptyLines(1);
} else { } else {
line = line.replaceAll("«", '\"');
line = line.replaceAll("»", '\"');
Uint8List encTxt11 = await CharsetConverter.encode(encoding, line); Uint8List encTxt11 = await CharsetConverter.encode(encoding, line);
ticket.textEncoded( encTxt11, styles: PosStyles( align: center ? PosAlign.center : PosAlign.left )); ticket.textEncoded( encTxt11, styles: PosStyles( align: center ? PosAlign.center : PosAlign.left, codeTable: codeTable ));
} }
} }
} }
@ -205,24 +209,27 @@ Future<Ticket> printTextCheck(PaperSize paper, String encoding, var data ) async
const double qrSize = 200; const double qrSize = 200;
try { try {
final uiImg = await QrPainter( final uiImg = await QrPainter(
data: qr, data: qr,
version: QrVersions.auto, version: QrVersions.auto,
gapless: false, gapless: true,
).toImageData(qrSize); ).toImageData(qrSize);
final dir = await getTemporaryDirectory(); final dir = await getTemporaryDirectory();
final pathName = '${dir.path}/qr_tmp.png'; final pathName = '${dir.path}/qr_tmp.png';
final qrFile = File(pathName); final qrFile = File(pathName);
final imgFile = await qrFile.writeAsBytes(uiImg.buffer.asUint8List()); final imgFile = await qrFile.writeAsBytes(uiImg.buffer.asUint8List());
final img = Im.decodeImage(imgFile.readAsBytesSync()); final img = Im.decodePng(imgFile.readAsBytesSync());
ticket.image(img); ticket.image(img);
//ticket.qrcode(qr, size: QRSize.Size1 );
} catch (e) { } catch (e) {
print(e); print(e);
} }
ticket.emptyLines(1);
ticket.feed(2); ticket.feed(1);
ticket.cut(); ticket.cut();
return ticket; return ticket;

View File

@ -1,3 +1,4 @@
import 'dart:io';
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:aman_kassa_flutter/core/locator.dart'; import 'package:aman_kassa_flutter/core/locator.dart';
@ -39,20 +40,28 @@ class _SettingPrinterViewState extends State<SettingPrinterView> {
void _testPrint() async { void _testPrint() async {
final SettingState state = Redux.store.state.settingState; final SettingState state = Redux.store.state.settingState;
printerManager.selectPrinter(PrinterBluetooth(state.printerBT)); printerManager.selectPrinter(PrinterBluetooth(state.printerBT));
bool isIos = Platform.isIOS;
int chunkSizeBytes = 3096;
int queueSleepTimeMs = 50;
if(isIos) {
chunkSizeBytes = 75;
queueSleepTimeMs = 10;
}
// TODO Don't forget to choose printer's paper // TODO Don't forget to choose printer's paper
PaperSize paper = state.printerPaperSize == SettingPrinterPaperM80 ? PaperSize.mm80 : PaperSize.mm58; PaperSize paper = state.printerPaperSize == SettingPrinterPaperM80 ? PaperSize.mm80 : PaperSize.mm58;
if(SettingPrinterEncodingImage == state.printerEncoding) { if(SettingPrinterEncodingImage == state.printerEncoding) {
final PosPrintResult res = await printerManager.printTicket( final PosPrintResult res = await printerManager.printTicket(
await testTicketImage(paper), await testTicketImage(paper),
chunkSizeBytes: 3096, chunkSizeBytes: chunkSizeBytes,
queueSleepTimeMs: 50 queueSleepTimeMs: queueSleepTimeMs
); );
_dialogService.showDialog(description: res.msg); _dialogService.showDialog(description: res.msg);
} else { } else {
final PosPrintResult res = await printerManager.printTicket( final PosPrintResult res = await printerManager.printTicket(
await printTextCheck(paper, state.printerEncoding, exampleJson['check_text']), await printTextCheck(paper, state.printerEncoding, exampleJson['check_text']),
chunkSizeBytes: 3096, chunkSizeBytes: chunkSizeBytes,
queueSleepTimeMs: 50 queueSleepTimeMs: queueSleepTimeMs
); );
_dialogService.showDialog(description: res.msg); _dialogService.showDialog(description: res.msg);
} }

View File

@ -1,6 +1,6 @@
name: aman_kassa_flutter name: aman_kassa_flutter
description: A new Flutter project. description: A new Flutter project.
version: 1.1.1+26 version: 1.2.1+27
environment: environment:
sdk: '>=2.3.0 <3.0.0' sdk: '>=2.3.0 <3.0.0'
dependencies: dependencies: