From 04ead7d5fc0c8980da6a72a58f05ff939b17b933 Mon Sep 17 00:00:00 2001
From: mac <mac@macs-MacBook-Pro.local>
Date: Sun, 9 Jul 2023 12:22:41 +0300
Subject: [PATCH] printer

---
 .DS_Store                                     | Bin 0 -> 6148 bytes
 dummy-ios-project.xcodeproj/project.pbxproj   | 361 -----------------
 .../UserInterfaceState.xcuserstate            | Bin 11212 -> 0 bytes
 dummy-ios-project/AppDelegate.swift           |  36 --
 .../AccentColor.colorset/Contents.json        |  11 -
 .../AppIcon.appiconset/Contents.json          |  13 -
 .../Assets.xcassets/Contents.json             |   6 -
 .../Base.lproj/LaunchScreen.storyboard        |  25 --
 dummy-ios-project/Base.lproj/Main.storyboard  |  24 --
 dummy-ios-project/Info.plist                  |  25 --
 dummy-ios-project/SceneDelegate.swift         |  52 ---
 dummy-ios-project/ViewController.swift        |  19 -
 ePOS2_CommBox.xcodeproj/project.pbxproj       | 372 ++++++++++++++++++
 .../contents.xcworkspacedata                  |   2 +-
 .../xcshareddata/IDEWorkspaceChecks.plist     |   0
 .../UserInterfaceState.xcuserstate            | Bin 0 -> 32275 bytes
 .../xcschemes/xcschememanagement.plist        |   2 +-
 ePOS2_CommBox/AppDelegate.h                   |  15 +
 ePOS2_CommBox/AppDelegate.m                   |  46 +++
 ePOS2_CommBox/Base.lproj/CommBox.storyboard   | 160 ++++++++
 ePOS2_CommBox/CommBoxViewController.h         |  21 +
 ePOS2_CommBox/CommBoxViewController.m         | 209 ++++++++++
 .../AppIcon.appiconset/Contents.json          |  53 +++
 .../LaunchImage.launchimage/Contents.json     |  51 +++
 ePOS2_CommBox/Localizable.strings             |   5 +
 ePOS2_CommBox/ShowMsg.h                       |   9 +
 ePOS2_CommBox/ShowMsg.m                       | 125 ++++++
 ePOS2_CommBox/button.png                      | Bin 0 -> 3562 bytes
 ePOS2_CommBox/ePOS2_CommBox-Info.plist        |  52 +++
 ePOS2_CommBox/ePOS2_CommBox-Prefix.pch        |  16 +
 ePOS2_CommBox/en.lproj/InfoPlist.strings      |   2 +
 ePOS2_CommBox/main.m                          |  18 +
 32 files changed, 1156 insertions(+), 574 deletions(-)
 create mode 100644 .DS_Store
 delete mode 100644 dummy-ios-project.xcodeproj/project.pbxproj
 delete mode 100644 dummy-ios-project.xcodeproj/project.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate
 delete mode 100644 dummy-ios-project/AppDelegate.swift
 delete mode 100644 dummy-ios-project/Assets.xcassets/AccentColor.colorset/Contents.json
 delete mode 100644 dummy-ios-project/Assets.xcassets/AppIcon.appiconset/Contents.json
 delete mode 100644 dummy-ios-project/Assets.xcassets/Contents.json
 delete mode 100644 dummy-ios-project/Base.lproj/LaunchScreen.storyboard
 delete mode 100644 dummy-ios-project/Base.lproj/Main.storyboard
 delete mode 100644 dummy-ios-project/Info.plist
 delete mode 100644 dummy-ios-project/SceneDelegate.swift
 delete mode 100644 dummy-ios-project/ViewController.swift
 create mode 100644 ePOS2_CommBox.xcodeproj/project.pbxproj
 rename {dummy-ios-project.xcodeproj => ePOS2_CommBox.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (68%)
 rename {dummy-ios-project.xcodeproj => ePOS2_CommBox.xcodeproj}/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%)
 create mode 100644 ePOS2_CommBox.xcodeproj/project.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate
 rename {dummy-ios-project.xcodeproj => ePOS2_CommBox.xcodeproj}/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist (85%)
 create mode 100644 ePOS2_CommBox/AppDelegate.h
 create mode 100644 ePOS2_CommBox/AppDelegate.m
 create mode 100644 ePOS2_CommBox/Base.lproj/CommBox.storyboard
 create mode 100644 ePOS2_CommBox/CommBoxViewController.h
 create mode 100644 ePOS2_CommBox/CommBoxViewController.m
 create mode 100644 ePOS2_CommBox/Images.xcassets/AppIcon.appiconset/Contents.json
 create mode 100644 ePOS2_CommBox/Images.xcassets/LaunchImage.launchimage/Contents.json
 create mode 100644 ePOS2_CommBox/Localizable.strings
 create mode 100644 ePOS2_CommBox/ShowMsg.h
 create mode 100644 ePOS2_CommBox/ShowMsg.m
 create mode 100644 ePOS2_CommBox/button.png
 create mode 100644 ePOS2_CommBox/ePOS2_CommBox-Info.plist
 create mode 100644 ePOS2_CommBox/ePOS2_CommBox-Prefix.pch
 create mode 100644 ePOS2_CommBox/en.lproj/InfoPlist.strings
 create mode 100644 ePOS2_CommBox/main.m

diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..6d50edd1d346ea7da557f1d1cae6a73a22a24297
GIT binary patch
literal 6148
zcmeHKL2DC16n@i2JFygUQ0#G`*S4lL7RAfDjTBFcTlAn3v)RzD-RvyM#uP$e&-!D$
zdhsOw1%HJ<z?*(=W&)|Tg+LG~^OpC%w=?g(Wxio%c8Ev>!+3|NMnn?ISh)f77vX-^
zbFySxxKrpFyVRn6Qq;ra#4+F)_}>}ewYx@LdPYwvq}lZwU>%=6NmVCGRfH(sA|64v
ze`$etX=XGU<Tmqjl&8s{sMo)XrRB=C>nn0auF5yzu^NR%yBH3FcK;Q>9V(SZQ@<U(
zNV=m|?dHD9iguE9`#K?sy9jyxGRa~!3e+%*2Rb)29kME`t=jr{+}OLf={4>*CY#>)
z!EPP?-Mz`ADsOGvdHB3_lJ+w7L63n1_AV`J7N_tL&L!Nu5BpiFvLi%sh1(aiNZWKu
z9q<_=CZ|5UcYiSZ2^D6UowHhcv=eqzFGm%~mjY(a3O&_q+WC?PKYx4;x4!Xg&s`;6
zK$ZM>W;D~;;ek0>Bm<UNxw^=ru9joKF>oaq;QhgaGWr%vgL><L(N_Rq1<hLE^N#}O
zcouz&r9t#Sgh>UORAH|e!la|!vvIz~(x6EvVJ{!Tep%QXiqKz2eNTsz@C`ca7;p@n
zWnkI7*7*E?eDVGNY?6C(3^)d^6a%8t44VOlWY5-fgX6Q-gT95ba9n9nr@+|bSUY?a
duS2z<&tnJZTPzKt1>$}LG!4!;2L34nzX3bssFeT!

literal 0
HcmV?d00001

diff --git a/dummy-ios-project.xcodeproj/project.pbxproj b/dummy-ios-project.xcodeproj/project.pbxproj
deleted file mode 100644
index 6dbf8e1..0000000
--- a/dummy-ios-project.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,361 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 56;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		043760382A5AA2A70053D341 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043760372A5AA2A70053D341 /* AppDelegate.swift */; };
-		0437603A2A5AA2A70053D341 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043760392A5AA2A70053D341 /* SceneDelegate.swift */; };
-		0437603C2A5AA2A70053D341 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0437603B2A5AA2A70053D341 /* ViewController.swift */; };
-		0437603F2A5AA2A70053D341 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0437603D2A5AA2A70053D341 /* Main.storyboard */; };
-		043760412A5AA2A90053D341 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 043760402A5AA2A90053D341 /* Assets.xcassets */; };
-		043760442A5AA2A90053D341 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 043760422A5AA2A90053D341 /* LaunchScreen.storyboard */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
-		043760342A5AA2A70053D341 /* dummy-ios-project.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "dummy-ios-project.app"; sourceTree = BUILT_PRODUCTS_DIR; };
-		043760372A5AA2A70053D341 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
-		043760392A5AA2A70053D341 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
-		0437603B2A5AA2A70053D341 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
-		0437603E2A5AA2A70053D341 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
-		043760402A5AA2A90053D341 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-		043760432A5AA2A90053D341 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
-		043760452A5AA2A90053D341 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-		043760312A5AA2A70053D341 /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-		0437602B2A5AA2A70053D341 = {
-			isa = PBXGroup;
-			children = (
-				043760362A5AA2A70053D341 /* dummy-ios-project */,
-				043760352A5AA2A70053D341 /* Products */,
-			);
-			sourceTree = "<group>";
-		};
-		043760352A5AA2A70053D341 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				043760342A5AA2A70053D341 /* dummy-ios-project.app */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		043760362A5AA2A70053D341 /* dummy-ios-project */ = {
-			isa = PBXGroup;
-			children = (
-				043760372A5AA2A70053D341 /* AppDelegate.swift */,
-				043760392A5AA2A70053D341 /* SceneDelegate.swift */,
-				0437603B2A5AA2A70053D341 /* ViewController.swift */,
-				0437603D2A5AA2A70053D341 /* Main.storyboard */,
-				043760402A5AA2A90053D341 /* Assets.xcassets */,
-				043760422A5AA2A90053D341 /* LaunchScreen.storyboard */,
-				043760452A5AA2A90053D341 /* Info.plist */,
-			);
-			path = "dummy-ios-project";
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-		043760332A5AA2A70053D341 /* dummy-ios-project */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = 043760482A5AA2A90053D341 /* Build configuration list for PBXNativeTarget "dummy-ios-project" */;
-			buildPhases = (
-				043760302A5AA2A70053D341 /* Sources */,
-				043760312A5AA2A70053D341 /* Frameworks */,
-				043760322A5AA2A70053D341 /* Resources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-			);
-			name = "dummy-ios-project";
-			productName = "dummy-ios-project";
-			productReference = 043760342A5AA2A70053D341 /* dummy-ios-project.app */;
-			productType = "com.apple.product-type.application";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		0437602C2A5AA2A70053D341 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				BuildIndependentTargetsInParallel = 1;
-				LastSwiftUpdateCheck = 1430;
-				LastUpgradeCheck = 1430;
-				TargetAttributes = {
-					043760332A5AA2A70053D341 = {
-						CreatedOnToolsVersion = 14.3.1;
-					};
-				};
-			};
-			buildConfigurationList = 0437602F2A5AA2A70053D341 /* Build configuration list for PBXProject "dummy-ios-project" */;
-			compatibilityVersion = "Xcode 14.0";
-			developmentRegion = en;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-				Base,
-			);
-			mainGroup = 0437602B2A5AA2A70053D341;
-			productRefGroup = 043760352A5AA2A70053D341 /* Products */;
-			projectDirPath = "";
-			projectRoot = "";
-			targets = (
-				043760332A5AA2A70053D341 /* dummy-ios-project */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
-		043760322A5AA2A70053D341 /* Resources */ = {
-			isa = PBXResourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				043760442A5AA2A90053D341 /* LaunchScreen.storyboard in Resources */,
-				043760412A5AA2A90053D341 /* Assets.xcassets in Resources */,
-				0437603F2A5AA2A70053D341 /* Main.storyboard in Resources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		043760302A5AA2A70053D341 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				0437603C2A5AA2A70053D341 /* ViewController.swift in Sources */,
-				043760382A5AA2A70053D341 /* AppDelegate.swift in Sources */,
-				0437603A2A5AA2A70053D341 /* SceneDelegate.swift in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
-		0437603D2A5AA2A70053D341 /* Main.storyboard */ = {
-			isa = PBXVariantGroup;
-			children = (
-				0437603E2A5AA2A70053D341 /* Base */,
-			);
-			name = Main.storyboard;
-			sourceTree = "<group>";
-		};
-		043760422A5AA2A90053D341 /* LaunchScreen.storyboard */ = {
-			isa = PBXVariantGroup;
-			children = (
-				043760432A5AA2A90053D341 /* Base */,
-			);
-			name = LaunchScreen.storyboard;
-			sourceTree = "<group>";
-		};
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-		043760462A5AA2A90053D341 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ANALYZER_NONNULL = YES;
-				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
-				CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
-				CLANG_ENABLE_MODULES = YES;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_ENABLE_OBJC_WEAK = YES;
-				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_COMMA = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
-				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INFINITE_RECURSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
-				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
-				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
-				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
-				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
-				CLANG_WARN_STRICT_PROTOTYPES = YES;
-				CLANG_WARN_SUSPICIOUS_MOVE = YES;
-				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				COPY_PHASE_STRIP = NO;
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				ENABLE_STRICT_OBJC_MSGSEND = YES;
-				ENABLE_TESTABILITY = YES;
-				GCC_C_LANGUAGE_STANDARD = gnu11;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_NO_COMMON_BLOCKS = YES;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PREPROCESSOR_DEFINITIONS = (
-					"DEBUG=1",
-					"$(inherited)",
-				);
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 16.4;
-				MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
-				MTL_FAST_MATH = YES;
-				ONLY_ACTIVE_ARCH = YES;
-				SDKROOT = iphoneos;
-				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
-				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
-			};
-			name = Debug;
-		};
-		043760472A5AA2A90053D341 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ANALYZER_NONNULL = YES;
-				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
-				CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
-				CLANG_ENABLE_MODULES = YES;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_ENABLE_OBJC_WEAK = YES;
-				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_COMMA = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
-				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INFINITE_RECURSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
-				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
-				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
-				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
-				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
-				CLANG_WARN_STRICT_PROTOTYPES = YES;
-				CLANG_WARN_SUSPICIOUS_MOVE = YES;
-				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				COPY_PHASE_STRIP = NO;
-				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				ENABLE_NS_ASSERTIONS = NO;
-				ENABLE_STRICT_OBJC_MSGSEND = YES;
-				GCC_C_LANGUAGE_STANDARD = gnu11;
-				GCC_NO_COMMON_BLOCKS = YES;
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 16.4;
-				MTL_ENABLE_DEBUG_INFO = NO;
-				MTL_FAST_MATH = YES;
-				SDKROOT = iphoneos;
-				SWIFT_COMPILATION_MODE = wholemodule;
-				SWIFT_OPTIMIZATION_LEVEL = "-O";
-				VALIDATE_PRODUCT = YES;
-			};
-			name = Release;
-		};
-		043760492A5AA2A90053D341 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
-				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1;
-				GENERATE_INFOPLIST_FILE = YES;
-				INFOPLIST_FILE = "dummy-ios-project/Info.plist";
-				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
-				INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
-				INFOPLIST_KEY_UIMainStoryboardFile = Main;
-				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
-				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
-				LD_RUNPATH_SEARCH_PATHS = (
-					"$(inherited)",
-					"@executable_path/Frameworks",
-				);
-				MARKETING_VERSION = 1.0;
-				PRODUCT_BUNDLE_IDENTIFIER = "beinmedia.dummy-ios-project";
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				SWIFT_EMIT_LOC_STRINGS = YES;
-				SWIFT_VERSION = 5.0;
-				TARGETED_DEVICE_FAMILY = "1,2";
-			};
-			name = Debug;
-		};
-		0437604A2A5AA2A90053D341 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
-				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1;
-				GENERATE_INFOPLIST_FILE = YES;
-				INFOPLIST_FILE = "dummy-ios-project/Info.plist";
-				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
-				INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
-				INFOPLIST_KEY_UIMainStoryboardFile = Main;
-				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
-				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
-				LD_RUNPATH_SEARCH_PATHS = (
-					"$(inherited)",
-					"@executable_path/Frameworks",
-				);
-				MARKETING_VERSION = 1.0;
-				PRODUCT_BUNDLE_IDENTIFIER = "beinmedia.dummy-ios-project";
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				SWIFT_EMIT_LOC_STRINGS = YES;
-				SWIFT_VERSION = 5.0;
-				TARGETED_DEVICE_FAMILY = "1,2";
-			};
-			name = Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		0437602F2A5AA2A70053D341 /* Build configuration list for PBXProject "dummy-ios-project" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				043760462A5AA2A90053D341 /* Debug */,
-				043760472A5AA2A90053D341 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		043760482A5AA2A90053D341 /* Build configuration list for PBXNativeTarget "dummy-ios-project" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				043760492A5AA2A90053D341 /* Debug */,
-				0437604A2A5AA2A90053D341 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 0437602C2A5AA2A70053D341 /* Project object */;
-}
diff --git a/dummy-ios-project.xcodeproj/project.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate b/dummy-ios-project.xcodeproj/project.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate
deleted file mode 100644
index ab7ed1989c6d5a96007b74b8aa9aa85fedf71977..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 11212
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
H&V~O2#&HH$

diff --git a/dummy-ios-project/AppDelegate.swift b/dummy-ios-project/AppDelegate.swift
deleted file mode 100644
index c58b2a5..0000000
--- a/dummy-ios-project/AppDelegate.swift
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  AppDelegate.swift
-//  dummy-ios-project
-//
-//  Created by mac on 09/07/2023.
-//
-
-import UIKit
-
-@main
-class AppDelegate: UIResponder, UIApplicationDelegate {
-
-
-
-    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
-        // Override point for customization after application launch.
-        return true
-    }
-
-    // MARK: UISceneSession Lifecycle
-
-    func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
-        // Called when a new scene session is being created.
-        // Use this method to select a configuration to create the new scene with.
-        return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
-    }
-
-    func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
-        // Called when the user discards a scene session.
-        // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
-        // Use this method to release any resources that were specific to the discarded scenes, as they will not return.
-    }
-
-
-}
-
diff --git a/dummy-ios-project/Assets.xcassets/AccentColor.colorset/Contents.json b/dummy-ios-project/Assets.xcassets/AccentColor.colorset/Contents.json
deleted file mode 100644
index eb87897..0000000
--- a/dummy-ios-project/Assets.xcassets/AccentColor.colorset/Contents.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "colors" : [
-    {
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
diff --git a/dummy-ios-project/Assets.xcassets/AppIcon.appiconset/Contents.json b/dummy-ios-project/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index 13613e3..0000000
--- a/dummy-ios-project/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "images" : [
-    {
-      "idiom" : "universal",
-      "platform" : "ios",
-      "size" : "1024x1024"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
diff --git a/dummy-ios-project/Assets.xcassets/Contents.json b/dummy-ios-project/Assets.xcassets/Contents.json
deleted file mode 100644
index 73c0059..0000000
--- a/dummy-ios-project/Assets.xcassets/Contents.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
diff --git a/dummy-ios-project/Base.lproj/LaunchScreen.storyboard b/dummy-ios-project/Base.lproj/LaunchScreen.storyboard
deleted file mode 100644
index 865e932..0000000
--- a/dummy-ios-project/Base.lproj/LaunchScreen.storyboard
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
-        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="EHf-IW-A2E">
-            <objects>
-                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
-                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
-                        <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
-                    </view>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="53" y="375"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/dummy-ios-project/Base.lproj/Main.storyboard b/dummy-ios-project/Base.lproj/Main.storyboard
deleted file mode 100644
index 25a7638..0000000
--- a/dummy-ios-project/Base.lproj/Main.storyboard
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
-        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="tne-QT-ifu">
-            <objects>
-                <viewController id="BYZ-38-t0r" customClass="ViewController" customModuleProvider="target" sceneMemberID="viewController">
-                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
-                        <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
-                    </view>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
-            </objects>
-        </scene>
-    </scenes>
-</document>
diff --git a/dummy-ios-project/Info.plist b/dummy-ios-project/Info.plist
deleted file mode 100644
index dd3c9af..0000000
--- a/dummy-ios-project/Info.plist
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>UIApplicationSceneManifest</key>
-	<dict>
-		<key>UIApplicationSupportsMultipleScenes</key>
-		<false/>
-		<key>UISceneConfigurations</key>
-		<dict>
-			<key>UIWindowSceneSessionRoleApplication</key>
-			<array>
-				<dict>
-					<key>UISceneConfigurationName</key>
-					<string>Default Configuration</string>
-					<key>UISceneDelegateClassName</key>
-					<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
-					<key>UISceneStoryboardFile</key>
-					<string>Main</string>
-				</dict>
-			</array>
-		</dict>
-	</dict>
-</dict>
-</plist>
diff --git a/dummy-ios-project/SceneDelegate.swift b/dummy-ios-project/SceneDelegate.swift
deleted file mode 100644
index 17c3cba..0000000
--- a/dummy-ios-project/SceneDelegate.swift
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-//  SceneDelegate.swift
-//  dummy-ios-project
-//
-//  Created by mac on 09/07/2023.
-//
-
-import UIKit
-
-class SceneDelegate: UIResponder, UIWindowSceneDelegate {
-
-    var window: UIWindow?
-
-
-    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
-        // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
-        // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
-        // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
-        guard let _ = (scene as? UIWindowScene) else { return }
-    }
-
-    func sceneDidDisconnect(_ scene: UIScene) {
-        // Called as the scene is being released by the system.
-        // This occurs shortly after the scene enters the background, or when its session is discarded.
-        // Release any resources associated with this scene that can be re-created the next time the scene connects.
-        // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
-    }
-
-    func sceneDidBecomeActive(_ scene: UIScene) {
-        // Called when the scene has moved from an inactive state to an active state.
-        // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
-    }
-
-    func sceneWillResignActive(_ scene: UIScene) {
-        // Called when the scene will move from an active state to an inactive state.
-        // This may occur due to temporary interruptions (ex. an incoming phone call).
-    }
-
-    func sceneWillEnterForeground(_ scene: UIScene) {
-        // Called as the scene transitions from the background to the foreground.
-        // Use this method to undo the changes made on entering the background.
-    }
-
-    func sceneDidEnterBackground(_ scene: UIScene) {
-        // Called as the scene transitions from the foreground to the background.
-        // Use this method to save data, release shared resources, and store enough scene-specific state information
-        // to restore the scene back to its current state.
-    }
-
-
-}
-
diff --git a/dummy-ios-project/ViewController.swift b/dummy-ios-project/ViewController.swift
deleted file mode 100644
index 4fcf8f5..0000000
--- a/dummy-ios-project/ViewController.swift
+++ /dev/null
@@ -1,19 +0,0 @@
-//
-//  ViewController.swift
-//  dummy-ios-project
-//
-//  Created by mac on 09/07/2023.
-//
-
-import UIKit
-
-class ViewController: UIViewController {
-
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        // Do any additional setup after loading the view.
-    }
-
-
-}
-
diff --git a/ePOS2_CommBox.xcodeproj/project.pbxproj b/ePOS2_CommBox.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..279f65f
--- /dev/null
+++ b/ePOS2_CommBox.xcodeproj/project.pbxproj
@@ -0,0 +1,372 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 52;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		843DDA951B53ABF800AE2F4E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 843DDA941B53ABF800AE2F4E /* Foundation.framework */; };
+		843DDA971B53ABF800AE2F4E /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 843DDA961B53ABF800AE2F4E /* CoreGraphics.framework */; };
+		843DDA991B53ABF800AE2F4E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 843DDA981B53ABF800AE2F4E /* UIKit.framework */; };
+		843DDA9F1B53ABF800AE2F4E /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 843DDA9D1B53ABF800AE2F4E /* InfoPlist.strings */; };
+		843DDAA11B53ABF800AE2F4E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 843DDAA01B53ABF800AE2F4E /* main.m */; };
+		843DDAA51B53ABF800AE2F4E /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 843DDAA41B53ABF800AE2F4E /* AppDelegate.m */; };
+		843DDAB01B53ABF800AE2F4E /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 843DDAAF1B53ABF800AE2F4E /* Images.xcassets */; };
+		843DDACF1B53AC8900AE2F4E /* button.png in Resources */ = {isa = PBXBuildFile; fileRef = 843DDACE1B53AC8900AE2F4E /* button.png */; };
+		843DDAD31B53ACFD00AE2F4E /* ShowMsg.m in Sources */ = {isa = PBXBuildFile; fileRef = 843DDAD21B53ACFD00AE2F4E /* ShowMsg.m */; };
+		843DDAD61B53AD2000AE2F4E /* CommBoxViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 843DDAD51B53AD2000AE2F4E /* CommBoxViewController.m */; };
+		84BA025E1B54AC8300A16C4F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 84BA025D1B54AC8300A16C4F /* Localizable.strings */; };
+		84C0884C1B76E2DE00FA4085 /* ExternalAccessory.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0884B1B76E2DE00FA4085 /* ExternalAccessory.framework */; };
+		84C0884E1B76E2EC00FA4085 /* libxml2.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0884D1B76E2EC00FA4085 /* libxml2.2.dylib */; };
+		84C7214D1B5670EF0084758D /* CommBox.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 84C7214B1B5670EF0084758D /* CommBox.storyboard */; };
+		D78BE13D27EC0F13000B396E /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D78BE13C27EC0F13000B396E /* CoreBluetooth.framework */; };
+		E8C9CD0527F5A0180026AA96 /* libepos2.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = E8C9CD0427F5A0180026AA96 /* libepos2.xcframework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+		843DDA911B53ABF800AE2F4E /* ePOS2_CommBox.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ePOS2_CommBox.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		843DDA941B53ABF800AE2F4E /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+		843DDA961B53ABF800AE2F4E /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+		843DDA981B53ABF800AE2F4E /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+		843DDA9C1B53ABF800AE2F4E /* ePOS2_CommBox-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "ePOS2_CommBox-Info.plist"; sourceTree = "<group>"; };
+		843DDA9E1B53ABF800AE2F4E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		843DDAA01B53ABF800AE2F4E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+		843DDAA21B53ABF800AE2F4E /* ePOS2_CommBox-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ePOS2_CommBox-Prefix.pch"; sourceTree = "<group>"; };
+		843DDAA31B53ABF800AE2F4E /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+		843DDAA41B53ABF800AE2F4E /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+		843DDAAF1B53ABF800AE2F4E /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
+		843DDACE1B53AC8900AE2F4E /* button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = button.png; sourceTree = "<group>"; };
+		843DDAD11B53ACFD00AE2F4E /* ShowMsg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShowMsg.h; sourceTree = "<group>"; };
+		843DDAD21B53ACFD00AE2F4E /* ShowMsg.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShowMsg.m; sourceTree = "<group>"; };
+		843DDAD41B53AD2000AE2F4E /* CommBoxViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommBoxViewController.h; sourceTree = "<group>"; };
+		843DDAD51B53AD2000AE2F4E /* CommBoxViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CommBoxViewController.m; sourceTree = "<group>"; };
+		84BA025D1B54AC8300A16C4F /* Localizable.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; };
+		84C0884B1B76E2DE00FA4085 /* ExternalAccessory.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ExternalAccessory.framework; path = System/Library/Frameworks/ExternalAccessory.framework; sourceTree = SDKROOT; };
+		84C0884D1B76E2EC00FA4085 /* libxml2.2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.2.dylib; path = usr/lib/libxml2.2.dylib; sourceTree = SDKROOT; };
+		84C7214C1B5670EF0084758D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/CommBox.storyboard; sourceTree = "<group>"; };
+		84D11D461B85EEAE00BAADF8 /* libepos2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libepos2.a; path = ../libs/libepos2.a; sourceTree = "<group>"; };
+		D78BE13C27EC0F13000B396E /* CoreBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreBluetooth.framework; path = System/Library/Frameworks/CoreBluetooth.framework; sourceTree = SDKROOT; };
+		E8C9CD0427F5A0180026AA96 /* libepos2.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = libepos2.xcframework; path = ../libs/libepos2.xcframework; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		843DDA8E1B53ABF800AE2F4E /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				D78BE13D27EC0F13000B396E /* CoreBluetooth.framework in Frameworks */,
+				E8C9CD0527F5A0180026AA96 /* libepos2.xcframework in Frameworks */,
+				84C0884E1B76E2EC00FA4085 /* libxml2.2.dylib in Frameworks */,
+				84C0884C1B76E2DE00FA4085 /* ExternalAccessory.framework in Frameworks */,
+				843DDA971B53ABF800AE2F4E /* CoreGraphics.framework in Frameworks */,
+				843DDA991B53ABF800AE2F4E /* UIKit.framework in Frameworks */,
+				843DDA951B53ABF800AE2F4E /* Foundation.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		843DDA881B53ABF800AE2F4E = {
+			isa = PBXGroup;
+			children = (
+				843DDA9A1B53ABF800AE2F4E /* ePOS2_CommBox */,
+				843DDA931B53ABF800AE2F4E /* Frameworks */,
+				843DDA921B53ABF800AE2F4E /* Products */,
+			);
+			sourceTree = "<group>";
+		};
+		843DDA921B53ABF800AE2F4E /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				843DDA911B53ABF800AE2F4E /* ePOS2_CommBox.app */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		843DDA931B53ABF800AE2F4E /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				E8C9CD0427F5A0180026AA96 /* libepos2.xcframework */,
+				D78BE13C27EC0F13000B396E /* CoreBluetooth.framework */,
+				84D11D461B85EEAE00BAADF8 /* libepos2.a */,
+				84C0884D1B76E2EC00FA4085 /* libxml2.2.dylib */,
+				84C0884B1B76E2DE00FA4085 /* ExternalAccessory.framework */,
+				843DDA941B53ABF800AE2F4E /* Foundation.framework */,
+				843DDA961B53ABF800AE2F4E /* CoreGraphics.framework */,
+				843DDA981B53ABF800AE2F4E /* UIKit.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		843DDA9A1B53ABF800AE2F4E /* ePOS2_CommBox */ = {
+			isa = PBXGroup;
+			children = (
+				84C7214B1B5670EF0084758D /* CommBox.storyboard */,
+				843DDAD11B53ACFD00AE2F4E /* ShowMsg.h */,
+				843DDAD21B53ACFD00AE2F4E /* ShowMsg.m */,
+				843DDACE1B53AC8900AE2F4E /* button.png */,
+				843DDAA31B53ABF800AE2F4E /* AppDelegate.h */,
+				843DDAA41B53ABF800AE2F4E /* AppDelegate.m */,
+				843DDAD41B53AD2000AE2F4E /* CommBoxViewController.h */,
+				843DDAD51B53AD2000AE2F4E /* CommBoxViewController.m */,
+				843DDAAF1B53ABF800AE2F4E /* Images.xcassets */,
+				843DDA9B1B53ABF800AE2F4E /* Supporting Files */,
+			);
+			path = ePOS2_CommBox;
+			sourceTree = "<group>";
+		};
+		843DDA9B1B53ABF800AE2F4E /* Supporting Files */ = {
+			isa = PBXGroup;
+			children = (
+				84BA025D1B54AC8300A16C4F /* Localizable.strings */,
+				843DDA9C1B53ABF800AE2F4E /* ePOS2_CommBox-Info.plist */,
+				843DDA9D1B53ABF800AE2F4E /* InfoPlist.strings */,
+				843DDAA01B53ABF800AE2F4E /* main.m */,
+				843DDAA21B53ABF800AE2F4E /* ePOS2_CommBox-Prefix.pch */,
+			);
+			name = "Supporting Files";
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		843DDA901B53ABF800AE2F4E /* ePOS2_CommBox */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 843DDAC61B53ABF900AE2F4E /* Build configuration list for PBXNativeTarget "ePOS2_CommBox" */;
+			buildPhases = (
+				843DDA8D1B53ABF800AE2F4E /* Sources */,
+				843DDA8E1B53ABF800AE2F4E /* Frameworks */,
+				843DDA8F1B53ABF800AE2F4E /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = ePOS2_CommBox;
+			productName = ePOS2_CommBox;
+			productReference = 843DDA911B53ABF800AE2F4E /* ePOS2_CommBox.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		843DDA891B53ABF800AE2F4E /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastUpgradeCheck = 0500;
+			};
+			buildConfigurationList = 843DDA8C1B53ABF800AE2F4E /* Build configuration list for PBXProject "ePOS2_CommBox" */;
+			compatibilityVersion = "Xcode 3.2";
+			developmentRegion = English;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+				Base,
+			);
+			mainGroup = 843DDA881B53ABF800AE2F4E;
+			productRefGroup = 843DDA921B53ABF800AE2F4E /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				843DDA901B53ABF800AE2F4E /* ePOS2_CommBox */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		843DDA8F1B53ABF800AE2F4E /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				843DDAB01B53ABF800AE2F4E /* Images.xcassets in Resources */,
+				84BA025E1B54AC8300A16C4F /* Localizable.strings in Resources */,
+				843DDACF1B53AC8900AE2F4E /* button.png in Resources */,
+				84C7214D1B5670EF0084758D /* CommBox.storyboard in Resources */,
+				843DDA9F1B53ABF800AE2F4E /* InfoPlist.strings in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		843DDA8D1B53ABF800AE2F4E /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				843DDAA51B53ABF800AE2F4E /* AppDelegate.m in Sources */,
+				843DDAA11B53ABF800AE2F4E /* main.m in Sources */,
+				843DDAD61B53AD2000AE2F4E /* CommBoxViewController.m in Sources */,
+				843DDAD31B53ACFD00AE2F4E /* ShowMsg.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+		843DDA9D1B53ABF800AE2F4E /* InfoPlist.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				843DDA9E1B53ABF800AE2F4E /* en */,
+			);
+			name = InfoPlist.strings;
+			sourceTree = "<group>";
+		};
+		84C7214B1B5670EF0084758D /* CommBox.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				84C7214C1B5670EF0084758D /* Base */,
+			);
+			name = CommBox.storyboard;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		843DDAC41B53ABF900AE2F4E /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = iphoneos;
+				TARGETED_DEVICE_FAMILY = "1,2";
+			};
+			name = Debug;
+		};
+		843DDAC51B53ABF900AE2F4E /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = YES;
+				ENABLE_NS_ASSERTIONS = NO;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				SDKROOT = iphoneos;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Release;
+		};
+		843DDAC71B53ABF900AE2F4E /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD)";
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "ePOS2_CommBox/ePOS2_CommBox-Prefix.pch";
+				INFOPLIST_FILE = "ePOS2_CommBox/ePOS2_CommBox-Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+				);
+				LIBRARY_SEARCH_PATHS = (
+					"$(inherited)",
+					../libs,
+				);
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				WRAPPER_EXTENSION = app;
+			};
+			name = Debug;
+		};
+		843DDAC81B53ABF900AE2F4E /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD)";
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "ePOS2_CommBox/ePOS2_CommBox-Prefix.pch";
+				INFOPLIST_FILE = "ePOS2_CommBox/ePOS2_CommBox-Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+				);
+				LIBRARY_SEARCH_PATHS = (
+					"$(inherited)",
+					../libs,
+				);
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				WRAPPER_EXTENSION = app;
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		843DDA8C1B53ABF800AE2F4E /* Build configuration list for PBXProject "ePOS2_CommBox" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				843DDAC41B53ABF900AE2F4E /* Debug */,
+				843DDAC51B53ABF900AE2F4E /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		843DDAC61B53ABF900AE2F4E /* Build configuration list for PBXNativeTarget "ePOS2_CommBox" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				843DDAC71B53ABF900AE2F4E /* Debug */,
+				843DDAC81B53ABF900AE2F4E /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 843DDA891B53ABF800AE2F4E /* Project object */;
+}
diff --git a/dummy-ios-project.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ePOS2_CommBox.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 68%
rename from dummy-ios-project.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to ePOS2_CommBox.xcodeproj/project.xcworkspace/contents.xcworkspacedata
index 919434a..7ba2c18 100644
--- a/dummy-ios-project.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ b/ePOS2_CommBox.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -2,6 +2,6 @@
 <Workspace
    version = "1.0">
    <FileRef
-      location = "self:">
+      location = "self:ePOS2_CommBox.xcodeproj">
    </FileRef>
 </Workspace>
diff --git a/dummy-ios-project.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ePOS2_CommBox.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
similarity index 100%
rename from dummy-ios-project.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
rename to ePOS2_CommBox.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
diff --git a/ePOS2_CommBox.xcodeproj/project.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate b/ePOS2_CommBox.xcodeproj/project.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000000000000000000000000000000000000..70796e718f8f0319d9e2a25460133f84aeefc900
GIT binary patch
literal 32275
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
T+X2LX9<JzI=^H^zKl}dxS3B4$

literal 0
HcmV?d00001

diff --git a/dummy-ios-project.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist b/ePOS2_CommBox.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist
similarity index 85%
rename from dummy-ios-project.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist
rename to ePOS2_CommBox.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist
index e0c1594..f2704f0 100644
--- a/dummy-ios-project.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist
+++ b/ePOS2_CommBox.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -4,7 +4,7 @@
 <dict>
 	<key>SchemeUserState</key>
 	<dict>
-		<key>dummy-ios-project.xcscheme_^#shared#^_</key>
+		<key>ePOS2_CommBox.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
 			<integer>0</integer>
diff --git a/ePOS2_CommBox/AppDelegate.h b/ePOS2_CommBox/AppDelegate.h
new file mode 100644
index 0000000..f61258c
--- /dev/null
+++ b/ePOS2_CommBox/AppDelegate.h
@@ -0,0 +1,15 @@
+//
+//  AppDelegate.h
+//  ePOS2_CommBox
+//
+//  Created by admin on 2015/07/13.
+//
+//
+
+#import <UIKit/UIKit.h>
+
+@interface AppDelegate : UIResponder <UIApplicationDelegate>
+
+@property (strong, nonatomic) UIWindow *window;
+
+@end
diff --git a/ePOS2_CommBox/AppDelegate.m b/ePOS2_CommBox/AppDelegate.m
new file mode 100644
index 0000000..f8975da
--- /dev/null
+++ b/ePOS2_CommBox/AppDelegate.m
@@ -0,0 +1,46 @@
+//
+//  AppDelegate.m
+//  ePOS2_CommBox
+//
+//  Created by admin on 2015/07/13.
+//
+//
+
+#import "AppDelegate.h"
+
+@implementation AppDelegate
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
+{
+    // Override point for customization after application launch.
+    return YES;
+}
+							
+- (void)applicationWillResignActive:(UIApplication *)application
+{
+    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+}
+
+- (void)applicationDidEnterBackground:(UIApplication *)application
+{
+    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 
+    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
+}
+
+- (void)applicationWillEnterForeground:(UIApplication *)application
+{
+    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
+}
+
+- (void)applicationDidBecomeActive:(UIApplication *)application
+{
+    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+}
+
+- (void)applicationWillTerminate:(UIApplication *)application
+{
+    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+}
+
+@end
diff --git a/ePOS2_CommBox/Base.lproj/CommBox.storyboard b/ePOS2_CommBox/Base.lproj/CommBox.storyboard
new file mode 100644
index 0000000..b5d3fc0
--- /dev/null
+++ b/ePOS2_CommBox/Base.lproj/CommBox.storyboard
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES" initialViewController="vXZ-lx-hvc">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <scenes>
+        <!--Comm Box View Controller-->
+        <scene sceneID="ufC-wZ-h7g">
+            <objects>
+                <viewController id="vXZ-lx-hvc" customClass="CommBoxViewController" sceneMemberID="viewController">
+                    <layoutGuides>
+                        <viewControllerLayoutGuide type="top" id="HIK-pc-aQS"/>
+                        <viewControllerLayoutGuide type="bottom" id="gZa-ci-emM"/>
+                    </layoutGuides>
+                    <view key="view" contentMode="scaleToFill" id="kh9-bI-dsS">
+                        <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                        <subviews>
+                            <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xDb-p2-JuO">
+                                <rect key="frame" x="16" y="296" width="363" height="37"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
+                                <state key="normal" title="Send Message" backgroundImage="button.png">
+                                    <color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                </state>
+                                <connections>
+                                    <action selector="onSendData:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="laI-bI-Oi0"/>
+                                </connections>
+                            </button>
+                            <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="4Ux-Fn-teM">
+                                <rect key="frame" x="16" y="342" width="363" height="37"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                <state key="normal" title="Clear" backgroundImage="button.png">
+                                    <color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                </state>
+                                <connections>
+                                    <action selector="clearCommBox:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="yjW-hi-SvE"/>
+                                </connections>
+                            </button>
+                            <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="My ID" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LMS-5y-SQO">
+                                <rect key="frame" x="16" y="136" width="56" height="21"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                <color key="textColor" systemColor="darkTextColor"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Target ID" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5YU-He-twH">
+                                <rect key="frame" x="16" y="219" width="86" height="21"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                <color key="textColor" systemColor="darkTextColor"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="App1" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="ke5-mi-7C7">
+                                <rect key="frame" x="113" y="129" width="266" height="30"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                <textInputTraits key="textInputTraits"/>
+                            </textField>
+                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="App2" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="ha0-H5-Tlv">
+                                <rect key="frame" x="113" y="215" width="266" height="30"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                <textInputTraits key="textInputTraits"/>
+                            </textField>
+                            <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Message" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yyy-ro-yRm">
+                                <rect key="frame" x="16" y="260" width="86" height="21"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" fixedFrame="YES" text="Test Message" translatesAutoresizingMaskIntoConstraints="NO" id="wta-Kn-mNa">
+                                <rect key="frame" x="113" y="254" width="253" height="33"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                                <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
+                            </textView>
+                            <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2mp-vu-TzV">
+                                <rect key="frame" x="16" y="387" width="363" height="140"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
+                                <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
+                            </textView>
+                            <navigationBar contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fOj-9O-H00">
+                                <rect key="frame" x="0.0" y="30" width="393" height="44"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
+                                <items>
+                                    <navigationItem title="ePOS2 CommBox" id="lz3-f6-RmT"/>
+                                </items>
+                            </navigationBar>
+                            <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Target" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8dz-GN-Fdm">
+                                <rect key="frame" x="16" y="94" width="76" height="21"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                <color key="textColor" systemColor="darkTextColor"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="TCP:192.168.192.168[Box1]" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="d2b-zX-T6e">
+                                <rect key="frame" x="113" y="91" width="266" height="30"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                <textInputTraits key="textInputTraits"/>
+                            </textField>
+                            <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Sdp-ct-buQ">
+                                <rect key="frame" x="16" y="168" width="166" height="37"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                                <state key="normal" title="Connect" backgroundImage="button.png">
+                                    <color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                </state>
+                                <connections>
+                                    <action selector="connectProcess:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="s58-PF-HVw"/>
+                                </connections>
+                            </button>
+                            <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="yAt-o0-sPW">
+                                <rect key="frame" x="213" y="168" width="166" height="37"/>
+                                <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxY="YES"/>
+                                <state key="normal" title="Disconnect" backgroundImage="button.png">
+                                    <color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                </state>
+                                <connections>
+                                    <action selector="disconnectProcess:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="Zn8-BS-KV0"/>
+                                </connections>
+                            </button>
+                        </subviews>
+                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                    </view>
+                    <connections>
+                        <outlet property="buttonClear" destination="4Ux-Fn-teM" id="dVm-y2-eqe"/>
+                        <outlet property="buttonConnect" destination="Sdp-ct-buQ" id="jmE-fC-OSB"/>
+                        <outlet property="buttonDisconnect" destination="yAt-o0-sPW" id="ojP-9x-sTj"/>
+                        <outlet property="buttonSendData" destination="xDb-p2-JuO" id="5dD-mh-l2E"/>
+                        <outlet property="itemView" destination="kh9-bI-dsS" id="Gag-28-6m3"/>
+                        <outlet property="textCommBox" destination="2mp-vu-TzV" id="kqw-dk-ktF"/>
+                        <outlet property="textMessage" destination="wta-Kn-mNa" id="5Oo-u2-f18"/>
+                        <outlet property="textMyID" destination="ke5-mi-7C7" id="o55-fP-3cc"/>
+                        <outlet property="textTarget" destination="d2b-zX-T6e" id="yjO-oW-NTx"/>
+                        <outlet property="textTargetID" destination="ha0-H5-Tlv" id="IfU-m2-VgH"/>
+                    </connections>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="x5A-6p-PRh" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="48" y="-2"/>
+        </scene>
+    </scenes>
+    <resources>
+        <image name="button.png" width="586.5" height="104.25"/>
+        <systemColor name="darkTextColor">
+            <color white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>
diff --git a/ePOS2_CommBox/CommBoxViewController.h b/ePOS2_CommBox/CommBoxViewController.h
new file mode 100644
index 0000000..27cf86e
--- /dev/null
+++ b/ePOS2_CommBox/CommBoxViewController.h
@@ -0,0 +1,21 @@
+#import <UIKit/UIKit.h>
+#import "ePOS2.h"
+
+@interface CommBoxViewController : UIViewController
+{
+    Epos2CommBox *commBox_;
+    BOOL isConnect_;
+
+    UIBackgroundTaskIdentifier bgTask;
+}
+@property(strong, nonatomic) IBOutlet UIView *itemView;
+@property(weak, nonatomic) IBOutlet UITextField *textTarget;
+@property (weak, nonatomic) IBOutlet UITextField *textMyID;
+@property(weak, nonatomic) IBOutlet UIButton *buttonConnect;
+@property(weak, nonatomic) IBOutlet UIButton *buttonDisconnect;
+@property (weak, nonatomic) IBOutlet UITextField *textTargetID;
+@property(weak, nonatomic) IBOutlet UIButton *buttonSendData;
+@property(weak, nonatomic) IBOutlet UITextView *textMessage;
+@property(weak, nonatomic) IBOutlet UIButton *buttonClear;
+@property(weak, nonatomic) IBOutlet UITextView *textCommBox;
+@end
diff --git a/ePOS2_CommBox/CommBoxViewController.m b/ePOS2_CommBox/CommBoxViewController.m
new file mode 100644
index 0000000..1371398
--- /dev/null
+++ b/ePOS2_CommBox/CommBoxViewController.m
@@ -0,0 +1,209 @@
+#import "CommBoxViewController.h"
+#import "ShowMsg.h"
+
+@interface CommBoxViewController()<Epos2CommBoxReceiveDelegate, Epos2CommBoxSendMessageDelegate, Epos2ConnectionDelegate>
+@end
+
+@implementation CommBoxViewController
+
+- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
+{
+    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
+    if (self) {
+        commBox_ = nil;
+    }
+    return self;
+}
+
+- (void)viewDidLoad
+{
+    [super viewDidLoad];
+
+    [self setDoneToolbar];
+
+    _textCommBox.text = @"";
+    _buttonSendData.enabled = NO;
+    isConnect_ = NO;
+}
+
+- (void)setDoneToolbar
+{
+    UIToolbar *doneToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 44)];
+    doneToolbar.barStyle = UIBarStyleBlackTranslucent;
+
+    [doneToolbar sizeToFit];
+    UIBarButtonItem *space = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
+    UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneKeyboard:)];
+
+    NSMutableArray *items = [NSMutableArray arrayWithObjects:space, doneButton, nil];
+    [doneToolbar setItems:items animated:YES];
+    _textTarget.inputAccessoryView = doneToolbar;
+    _textMyID.inputAccessoryView = doneToolbar;
+    _textTargetID.inputAccessoryView = doneToolbar;
+    _textMessage.inputAccessoryView = doneToolbar;
+}
+
+- (void)doneKeyboard:(id)sender
+{
+    [_textTarget resignFirstResponder];
+    [_textMyID resignFirstResponder];
+    [_textTargetID resignFirstResponder];
+    [_textMessage resignFirstResponder];
+}
+
+- (IBAction)connectProcess:(id)sender
+{
+    if (![self initializeObject]) {
+        return;
+    }
+
+    if (![self connectCommBox]) {
+        return;
+    }
+
+    _buttonConnect.enabled = NO;
+    _buttonSendData.enabled = YES;
+}
+
+- (IBAction)disconnectProcess:(id)sender
+{
+    [self disconnectCommBox];
+
+    [self finalizeObject];
+
+    _buttonConnect.enabled = YES;
+    _buttonSendData.enabled = NO;
+}
+
+- (BOOL)initializeObject
+{
+    if (commBox_ != nil) {
+        [self finalizeObject];
+    }
+
+    commBox_ = [[Epos2CommBox alloc] init];
+    if (commBox_ == nil) {
+        [ShowMsg showErrorEpos:EPOS2_ERR_MEMORY method:@"init"];
+        return NO;
+    }
+
+    [commBox_ setReceiveEventDelegate:self];
+    [commBox_ setConnectionEventDelegate:self];
+
+    return YES;
+}
+
+- (void)finalizeObject
+{
+    if (commBox_ == nil) {
+        return ;
+    }
+
+    [commBox_ setReceiveEventDelegate:nil];
+    [commBox_ setConnectionEventDelegate:nil];
+    commBox_ = nil;
+}
+
+- (BOOL)connectCommBox
+{
+    int result = EPOS2_SUCCESS;
+
+    if (commBox_ == nil) {
+        return NO;
+    }
+
+    result = [commBox_ connect:_textTarget.text timeout:EPOS2_PARAM_DEFAULT myId:_textMyID.text];
+    if (result != EPOS2_SUCCESS) {
+        [ShowMsg showErrorEpos:result method:@"connect"];
+        [self finalizeObject];
+        return NO;
+    }
+    isConnect_ = YES;
+
+    return YES;
+}
+
+- (void)disconnectCommBox
+{
+    int result = EPOS2_SUCCESS;
+
+    if (commBox_ == nil) {
+        return;
+    }
+
+    if(isConnect_ == YES) {
+        result = [commBox_ disconnect];
+        if (result != EPOS2_SUCCESS) {
+            isConnect_ = NO;
+            
+            [ShowMsg showErrorEpos:result method:@"disconnect"];
+        }
+    }
+    else {
+        return;
+    }
+}
+
+- (IBAction)onSendData:(id)sender
+{
+    int result = EPOS2_SUCCESS;
+
+    if (commBox_ == nil) {
+        return;
+    }
+
+    result = [commBox_ sendMessage:_textMessage.text targetId:_textTargetID.text delegate:self];
+    if (EPOS2_SUCCESS != result) {
+        [ShowMsg showErrorEpos:result method:@"sendMessage"];
+        return;
+    }
+}
+
+- (void) onCommBoxReceive:(Epos2CommBox *)commBoxObj senderId:(NSString *)senderId receiverId:(NSString *)receiverId message:(NSString *)message
+{
+    _textCommBox.text = [_textCommBox.text stringByAppendingString:[NSString stringWithFormat:@"From:%@\t%@\n", senderId, message]];
+
+    [self scrollText];
+}
+
+- (void) onConnection:(id)deviceObj eventType:(int)eventType
+{
+    if(eventType == EPOS2_EVENT_DISCONNECT) {
+        isConnect_ = NO;
+    }
+    else {
+        //Do each process.
+    }
+}
+
+- (IBAction)clearCommBox:(id)sender
+{
+    _textCommBox.text = @"";
+}
+
+- (void) onCommBoxSendMessage:(Epos2CommBox *)commBoxObj code:(int)code count:(long)count
+{
+    [ShowMsg showResult:code];
+}
+
+- (void)scrollText
+{
+    NSRange range;
+    range = _textCommBox.selectedRange;
+    range.location = _textCommBox.text.length;
+    _textCommBox.selectedRange = range;
+    _textCommBox.scrollEnabled = YES;
+
+    CGFloat scrollY = _textCommBox.contentSize.height + _textCommBox.font.pointSize - _textCommBox.bounds.size.height;
+    CGPoint scrollPoint;
+
+    if (scrollY < 0) {
+        scrollY = 0;
+    }
+
+    scrollPoint = CGPointMake(0.0, scrollY);
+
+    [_textCommBox setContentOffset:scrollPoint animated:YES];
+}
+
+@end
diff --git a/ePOS2_CommBox/Images.xcassets/AppIcon.appiconset/Contents.json b/ePOS2_CommBox/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000..91bf9c1
--- /dev/null
+++ b/ePOS2_CommBox/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,53 @@
+{
+  "images" : [
+    {
+      "idiom" : "iphone",
+      "size" : "29x29",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "40x40",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "60x60",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "29x29",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "29x29",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "40x40",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "40x40",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "76x76",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "76x76",
+      "scale" : "2x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/ePOS2_CommBox/Images.xcassets/LaunchImage.launchimage/Contents.json b/ePOS2_CommBox/Images.xcassets/LaunchImage.launchimage/Contents.json
new file mode 100644
index 0000000..6f870a4
--- /dev/null
+++ b/ePOS2_CommBox/Images.xcassets/LaunchImage.launchimage/Contents.json
@@ -0,0 +1,51 @@
+{
+  "images" : [
+    {
+      "orientation" : "portrait",
+      "idiom" : "iphone",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "iphone",
+      "subtype" : "retina4",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "landscape",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "landscape",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "2x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/ePOS2_CommBox/Localizable.strings b/ePOS2_CommBox/Localizable.strings
new file mode 100644
index 0000000..f83fe20
--- /dev/null
+++ b/ePOS2_CommBox/Localizable.strings
@@ -0,0 +1,5 @@
+{
+	"methoderr_errcode" = "Error Code";
+    "methoderr_method" = "Method";
+    "statusmsg_result" = "Result";
+}
\ No newline at end of file
diff --git a/ePOS2_CommBox/ShowMsg.h b/ePOS2_CommBox/ShowMsg.h
new file mode 100644
index 0000000..2f76cbf
--- /dev/null
+++ b/ePOS2_CommBox/ShowMsg.h
@@ -0,0 +1,9 @@
+#import <Foundation/Foundation.h>
+
+@interface ShowMsg : NSObject
+    //show method error
++ (void)showErrorEpos:(int)result method:(NSString *)method;
+
+//show CommBox Result
++ (void)showResult:(int)code;
+@end
diff --git a/ePOS2_CommBox/ShowMsg.m b/ePOS2_CommBox/ShowMsg.m
new file mode 100644
index 0000000..3b6a05b
--- /dev/null
+++ b/ePOS2_CommBox/ShowMsg.m
@@ -0,0 +1,125 @@
+#import "ShowMsg.h"
+#import "ePOS2.h"
+
+@interface ShowMsg()
++ (void)show:(NSString *)msg;
++ (NSString *)getEposErrorText:(int)result;
++ (NSString *)getEposResultText:(int)result;
+@end
+
+@implementation ShowMsg
+
++ (void)showErrorEpos:(int)resultCode method:(NSString *)method
+{
+    NSString *msg = [NSString stringWithFormat:@"%@\n%@\n\n%@\n%@\n",
+                     NSLocalizedString(@"methoderr_errcode", @""),
+                     [self getEposErrorText:resultCode],
+                     NSLocalizedString(@"methoderr_method", @""),
+                     method];
+    [self show:msg];
+}
+
++ (void)showResult:(int)code
+{
+    NSString *msg = [NSString stringWithFormat:@"%@\n%@\n",
+                     NSLocalizedString(@"statusmsg_result", @""),
+                     [self getEposResultText:code]];
+    [self show:msg];
+}
+
+//show alart view
++ (void)show:(NSString *)msg
+{
+    UIAlertView *alert = [[UIAlertView alloc]
+                          initWithTitle:nil
+                          message:msg
+                          delegate:self
+                          cancelButtonTitle:nil
+                          otherButtonTitles:@"OK", nil
+                         ];
+    [alert show];
+}
+
+//convert Epos2 Error to text
++ (NSString *)getEposErrorText:(int)error
+{
+    NSString *errText = @"";
+    switch (error) {
+        case EPOS2_SUCCESS:
+            errText = @"SUCCESS";
+            break;
+        case EPOS2_ERR_PARAM:
+            errText = @"ERR_PARAM";
+            break;
+        case EPOS2_ERR_TIMEOUT:
+            errText = @"ERR_TIMEOUT";
+            break;
+        case EPOS2_ERR_CONNECT:
+            errText = @"ERR_CONNECT";
+            break;
+        case EPOS2_ERR_MEMORY:
+            errText = @"ERR_MEMORY";
+            break;
+        case EPOS2_ERR_ILLEGAL:
+            errText = @"ERR_ILLEGAL";
+            break;
+        case EPOS2_ERR_PROCESSING:
+            errText = @"ERR_PROCESSING";
+            break;
+        case EPOS2_ERR_NOT_FOUND:
+            errText = @"ERR_NOT_FOUND";
+            break;
+        case EPOS2_ERR_IN_USE:
+            errText = @"ERR_IN_USE";
+            break;
+        case EPOS2_ERR_TYPE_INVALID:
+            errText = @"ERR_TYPE_INVALID";
+            break;
+        case EPOS2_ERR_DISCONNECT:
+            errText = @"ERR_DISCONNECT";
+            break;
+        case EPOS2_ERR_ALREADY_OPENED:
+            errText = @"ERR_ALREADY_OPENED";
+            break;
+        case EPOS2_ERR_ALREADY_USED:
+            errText = @"ERR_ALREADY_USED";
+            break;
+        case EPOS2_ERR_BOX_COUNT_OVER:
+            errText = @"ERR_BOX_COUNT_OVER";
+            break;
+        case EPOS2_ERR_BOX_CLIENT_OVER:
+            errText = @"ERR_BOXT_CLIENT_OVER";
+            break;
+        case EPOS2_ERR_FAILURE:
+            errText = @"ERR_FAILURE";
+            break;
+        default:
+            errText = [NSString stringWithFormat:@"%d", error];
+            break;
+    }
+    return errText;
+}
+
+//convert Epos2 Result code to text
++ (NSString *)getEposResultText:(int)resultCode
+{
+    NSString *result = @"";
+    switch (resultCode) {
+        case EPOS2_CODE_SUCCESS:
+            result = @"SUCCESS";
+            break;
+        case EPOS2_CODE_ERR_NOT_FOUND:
+            result = @"ERR_NOT_FOUND";
+            break;
+        case EPOS2_CODE_ERR_FAILURE:
+            result = @"ERR_FAILURE";
+            break;
+        default:
+            result = [NSString stringWithFormat:@"%d", resultCode];
+            break;
+    }
+
+    return result;
+}
+
+@end
diff --git a/ePOS2_CommBox/button.png b/ePOS2_CommBox/button.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d0616b20549dd523100e0d70eb8c98210cfd39a
GIT binary patch
literal 3562
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
GSjHbCv_iiC

literal 0
HcmV?d00001

diff --git a/ePOS2_CommBox/ePOS2_CommBox-Info.plist b/ePOS2_CommBox/ePOS2_CommBox-Info.plist
new file mode 100644
index 0000000..bf97dbe
--- /dev/null
+++ b/ePOS2_CommBox/ePOS2_CommBox-Info.plist
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>en</string>
+	<key>CFBundleDisplayName</key>
+	<string>${PRODUCT_NAME}</string>
+	<key>CFBundleExecutable</key>
+	<string>${EXECUTABLE_NAME}</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.epson.${PRODUCT_NAME:rfc1034identifier}</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>${PRODUCT_NAME}</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1.0</string>
+	<key>LSRequiresIPhoneOS</key>
+	<true/>
+	<key>UIFileSharingEnabled</key>
+	<true/>
+	<key>UIMainStoryboardFile</key>
+	<string>CommBox</string>
+	<key>UIMainStoryboardFile~ipad</key>
+	<string>CommBox</string>
+	<key>UIRequiredDeviceCapabilities</key>
+	<array>
+		<string>armv7</string>
+	</array>
+	<key>UISupportedExternalAccessoryProtocols</key>
+	<array>
+		<string>com.epson.escpos</string>
+	</array>
+	<key>UISupportedInterfaceOrientations</key>
+	<array>
+		<string>UIInterfaceOrientationPortrait</string>
+	</array>
+	<key>UISupportedInterfaceOrientations~ipad</key>
+	<array>
+		<string>UIInterfaceOrientationPortrait</string>
+	</array>
+	<key>UIUserInterfaceStyle</key>
+	<string>Light</string>
+</dict>
+</plist>
diff --git a/ePOS2_CommBox/ePOS2_CommBox-Prefix.pch b/ePOS2_CommBox/ePOS2_CommBox-Prefix.pch
new file mode 100644
index 0000000..82a2bb4
--- /dev/null
+++ b/ePOS2_CommBox/ePOS2_CommBox-Prefix.pch
@@ -0,0 +1,16 @@
+//
+//  Prefix header
+//
+//  The contents of this file are implicitly included at the beginning of every source file.
+//
+
+#import <Availability.h>
+
+#ifndef __IPHONE_5_0
+#warning "This project uses features only available in iOS SDK 5.0 and later."
+#endif
+
+#ifdef __OBJC__
+    #import <UIKit/UIKit.h>
+    #import <Foundation/Foundation.h>
+#endif
diff --git a/ePOS2_CommBox/en.lproj/InfoPlist.strings b/ePOS2_CommBox/en.lproj/InfoPlist.strings
new file mode 100644
index 0000000..477b28f
--- /dev/null
+++ b/ePOS2_CommBox/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
diff --git a/ePOS2_CommBox/main.m b/ePOS2_CommBox/main.m
new file mode 100644
index 0000000..5d4bd1d
--- /dev/null
+++ b/ePOS2_CommBox/main.m
@@ -0,0 +1,18 @@
+//
+//  main.m
+//  ePOS2_CommBox
+//
+//  Created by admin on 2015/07/13.
+//
+//
+
+#import <UIKit/UIKit.h>
+
+#import "AppDelegate.h"
+
+int main(int argc, char * argv[])
+{
+    @autoreleasepool {
+        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
+    }
+}
-- 
GitLab