From 6e1e02d7fe9a798dd12d7991e382b73722d95a78 Mon Sep 17 00:00:00 2001 From: HaroldoTeruya Date: Thu, 1 Apr 2021 15:04:23 -0300 Subject: [PATCH 1/3] fix: normalize facefy image input and head movements definitions --- .../FacefyViewController.swift | 135 ++++++++++-------- .../YoonitFacefyDemo/GraphicView.swift | 12 +- README.md | 10 +- YoonitFacefy/src/FacefyController.swift | 4 +- 4 files changed, 90 insertions(+), 71 deletions(-) diff --git a/Example/YoonitFacefyDemo/YoonitFacefyDemo/FacefyViewController.swift b/Example/YoonitFacefyDemo/YoonitFacefyDemo/FacefyViewController.swift index 1e4ebce..7f7933c 100644 --- a/Example/YoonitFacefyDemo/YoonitFacefyDemo/FacefyViewController.swift +++ b/Example/YoonitFacefyDemo/YoonitFacefyDemo/FacefyViewController.swift @@ -16,13 +16,12 @@ import YoonitFacefy class FacefyViewController: UIViewController, CameraEventListenerDelegate -{ +{ var facefy: Facefy? = nil - var faceImage: UIImage? - @IBOutlet var cameraView: CameraView! @IBOutlet var graphicView: GraphicView! @IBOutlet var faceImageView: UIImageView! + @IBOutlet var boundingBox: UILabel! @IBOutlet var leftEyeLabel: UILabel! @IBOutlet var rightEyeLabel: UILabel! @IBOutlet var smilingLabel: UILabel! @@ -40,8 +39,8 @@ class FacefyViewController: self.cameraView.setSaveImageCaptured(true) self.cameraView.setTimeBetweenImages(300) self.cameraView.startCaptureType("frame") - } - + } + func onImageCaptured( _ type: String, _ count: Int, @@ -49,12 +48,19 @@ class FacefyViewController: _ imagePath: String ) { let subpath = imagePath.substring(from: imagePath.index(imagePath.startIndex, offsetBy: 7)) - let image = UIImage(contentsOfFile: subpath) - - self.facefy?.detect(image!) { + var image = UIImage(contentsOfFile: subpath)! + image = self.flipImageLeftRight(image)! + + self.facefy?.detect(image) { faceDetected in - - if let faceDetected: FaceDetected = faceDetected { + + if let faceDetected: FaceDetected = faceDetected { + let x: Int = Int(faceDetected.boundingBox.minX) + let y: Int = Int(faceDetected.boundingBox.minY) + let width: Int = Int(faceDetected.boundingBox.width) + let height: Int = Int(faceDetected.boundingBox.height) + self.boundingBox.text = "(x: \(x), y: \(y), w: \(width), h: \(height))" + self.handleDisplayProbability( label: self.leftEyeLabel, value: faceDetected.leftEyeOpenProbability, @@ -73,67 +79,67 @@ class FacefyViewController: validText: "Smiling", invalidText: "Not Smiling" ) - - if let headEulerAngleX = faceDetected.headEulerAngleX { - var headPosition = "" - if headEulerAngleX < -36 { - headPosition = "Super Down" - } else if -36 < headEulerAngleX && headEulerAngleX < -12 { - headPosition = "Down" - } else if -12 < headEulerAngleX && headEulerAngleX < 12 { - headPosition = "Frontal" - } else if 12 < headEulerAngleX && headEulerAngleX < 36 { - headPosition = "Up" - } else if headEulerAngleX > 36 { - headPosition = "Super Up" + + if let angle = faceDetected.headEulerAngleX { + var text = "" + if angle < -36 { + text = "Super Down" + } else if -36 < angle && angle < -12 { + text = "Down" + } else if -12 < angle && angle < 12 { + text = "Frontal" + } else if 12 < angle && angle < 36 { + text = "Up" + } else if 36 < angle { + text = "Super Up" } - self.verticalMovementLabel.text = headPosition + self.verticalMovementLabel.text = text } - if let headEulerAngleY = faceDetected.headEulerAngleY { - var headPosition = "" - if headEulerAngleY < -36 { - headPosition = "Super Right" - } else if -36 < headEulerAngleY && headEulerAngleY < -12 { - headPosition = "Right" - } else if -12 < headEulerAngleY && headEulerAngleY < 12 { - headPosition = "Frontal" - } else if 12 < headEulerAngleY && headEulerAngleY < 36 { - headPosition = "Left" - } else if headEulerAngleY > 36 { - headPosition = "Super Left" + if let angle = faceDetected.headEulerAngleY { + var text = "" + if angle < -36 { + text = "Super Left" + } else if -36 < angle && angle < -12 { + text = "Left" + } else if -12 < angle && angle < 12 { + text = "Frontal" + } else if 12 < angle && angle < 36 { + text = "Right" + } else if 36 < angle { + text = "Super Right" } - self.horizontalMovementLabel.text = headPosition + self.horizontalMovementLabel.text = text } - if let headEulerAngleZ = faceDetected.headEulerAngleZ { - var headPosition = "" - if headEulerAngleZ < -36 { - headPosition = "Super Left" - } else if -36 < headEulerAngleZ && headEulerAngleZ < -12 { - headPosition = "Left" - } else if -12 < headEulerAngleZ && headEulerAngleZ < 12 { - headPosition = "Frontal" - } else if 12 < headEulerAngleZ && headEulerAngleZ < 36 { - headPosition = "Right" - } else if headEulerAngleZ > 36 { - headPosition = "Super Right" + if let angle = faceDetected.headEulerAngleZ { + var text = "" + if angle < -36 { + text = "Super Right" + } else if -36 < angle && angle < -12 { + text = "Right" + } else if -12 < angle && angle < 12 { + text = "Frontal" + } else if 12 < angle && angle < 36 { + text = "Left" + } else if 36 < angle { + text = "Super Left" } - self.tiltMovementLabel.text = headPosition + self.tiltMovementLabel.text = text } - - if let cgImage = image?.cgImage { - + + if let cgImage = image.cgImage { + self.graphicView.handleDraw( image: cgImage, faceBoundingBox: faceDetected.boundingBox, faceContours: faceDetected.contours ) - + // Crop the face image. self.faceImageView.image = UIImage( cgImage: cgImage.cropping(to: faceDetected.boundingBox)! - ).withHorizontallyFlippedOrientation() + ) } } else { print("Face Undetected.") @@ -143,8 +149,6 @@ class FacefyViewController: } onError: { message in print(message) } - - self.faceImage = image! } func handleDisplayProbability( @@ -190,6 +194,23 @@ class FacefyViewController: func onQRCodeScanned(_ content: String) { } + + func flipImageLeftRight(_ image: UIImage) -> UIImage? { + + UIGraphicsBeginImageContextWithOptions(image.size, false, image.scale) + + let context = UIGraphicsGetCurrentContext()! + + context.translateBy(x: image.size.width, y: image.size.height) + context.scaleBy(x: -image.scale, y: -image.scale) + context.draw(image.cgImage!, in: CGRect(origin:CGPoint.zero, size: image.size)) + + let newImage = UIGraphicsGetImageFromCurrentImageContext() + + UIGraphicsEndImageContext() + + return newImage + } } extension CGFloat { diff --git a/Example/YoonitFacefyDemo/YoonitFacefyDemo/GraphicView.swift b/Example/YoonitFacefyDemo/YoonitFacefyDemo/GraphicView.swift index 0294af5..5068c7c 100644 --- a/Example/YoonitFacefyDemo/YoonitFacefyDemo/GraphicView.swift +++ b/Example/YoonitFacefyDemo/YoonitFacefyDemo/GraphicView.swift @@ -125,7 +125,7 @@ public class GraphicView: UIView { func drawFaceContours(context: CGContext) { let size = CGSize(width: 4, height: 4) - let viewWidth: CGFloat = self.frame.width + UIColor.white.set() for point in self.faceContours { @@ -133,7 +133,7 @@ public class GraphicView: UIView { imageWidth: CGFloat(self.image!.width), imageHeight: CGFloat(self.image!.height) ) - let x: CGFloat = viewWidth - (point.x * scaledXY.x) + let x: CGFloat = point.x * scaledXY.x let y: CGFloat = point.y * scaledXY.y let dot: CGRect = CGRect( @@ -161,18 +161,16 @@ public class GraphicView: UIView { func getFaceDetectionBox( cameraInputImage: CGImage, boundingBox: CGRect - ) -> CGRect { - let viewWidth: CGFloat = self.frame.width - + ) -> CGRect { let scaledXY: CGPoint = self.getScale( imageWidth: CGFloat(cameraInputImage.width), imageHeight: CGFloat(cameraInputImage.height) ) let top: CGFloat = boundingBox.minY * scaledXY.y - let right: CGFloat = viewWidth - (boundingBox.maxX * scaledXY.x) + let right: CGFloat = boundingBox.maxX * scaledXY.x let bottom: CGFloat = boundingBox.maxY * scaledXY.y - let left: CGFloat = viewWidth - (boundingBox.minX * scaledXY.x) + let left: CGFloat = boundingBox.minX * scaledXY.x return CGRect( x: left, diff --git a/README.md b/README.md index 2e455fc..378ca24 100644 --- a/README.md +++ b/README.md @@ -110,11 +110,11 @@ self.facefy.detect(image!) { faceDetected in Here we explaining the above gif and how reached the "results". Each "movement" (vertical, horizontal and tilt) is a state, based in the angle in degrees that indicate head direction; -| Head Direction | Attribute | _v_ < -36° | -36° < _v_ < -12° | -12° < _v_ < 12° | 12° < _v_ < 36° | 36° < _v_ | -| - | - | - | - | - | - | - | -| Vertical | `headEulerAngleX` | Super Down | Down | Frontal | Up | Super Up | -| Horizontal | `headEulerAngleY` | Super Right | Right | Frontal | Left | Super Left | -| Tilt | `headEulerAngleZ` | Super Left | Left | Frontal | Right | Super Right | +| Head Direction | Attribute | _v_ < -36° | -36° < _v_ < -12° | -12° < _v_ < 12° | 12° < _v_ < 36° | 36° < _v_ | +| - | - | - | - | - | - | - | +| Vertical | `headEulerAngleX` | Super Down | Down | Frontal | Up | Super Up | +| Horizontal | `headEulerAngleY` | Super Left | Left | Frontal | Right | Super Right | +| Tilt | `headEulerAngleZ` | Super Right | Right | Frontal | Left | Super Left | ## To contribute and make it better diff --git a/YoonitFacefy/src/FacefyController.swift b/YoonitFacefy/src/FacefyController.swift index 1ac74bf..2e11dca 100644 --- a/YoonitFacefy/src/FacefyController.swift +++ b/YoonitFacefy/src/FacefyController.swift @@ -72,8 +72,8 @@ public class FacefyController { onSuccess( FaceDetected( boundingBox: face.frame, - leftEyeOpenProbability: rightEyeOpenProbability, - rightEyeOpenProbability: leftEyeOpenProbability, + leftEyeOpenProbability: leftEyeOpenProbability, + rightEyeOpenProbability: rightEyeOpenProbability, smilingProbability: smilingProbability, headEulerAngleX: headEulerAngleX, headEulerAngleY: headEulerAngleY, From 1b095ec5300a509cf0f89973eb73de5e372b0cbf Mon Sep 17 00:00:00 2001 From: HaroldoTeruya Date: Thu, 1 Apr 2021 15:05:07 -0300 Subject: [PATCH 2/3] build: set yoonit camera version and update pods --- Example/YoonitFacefyDemo/Podfile | 2 +- Example/YoonitFacefyDemo/Podfile.lock | 21 +- .../Local Podspecs/YoonitFacefy.podspec.json | 4 +- Example/YoonitFacefyDemo/Pods/Manifest.lock | 21 +- .../Pods/Pods.xcodeproj/project.pbxproj | 386 +++++++++--------- .../project.pbxproj | 38 +- .../Base.lproj/Main.storyboard | 39 +- YoonitFacefy.xcodeproj/project.pbxproj | 58 +-- 8 files changed, 299 insertions(+), 270 deletions(-) diff --git a/Example/YoonitFacefyDemo/Podfile b/Example/YoonitFacefyDemo/Podfile index b46f2cc..b003909 100644 --- a/Example/YoonitFacefyDemo/Podfile +++ b/Example/YoonitFacefyDemo/Podfile @@ -8,5 +8,5 @@ target 'YoonitFacefyDemo' do # Pods for YoonitFacefyDemo pod 'YoonitFacefy', :path => '../../' - pod 'YoonitCamera' + pod 'YoonitCamera', :git => 'https://github.com/Yoonit-Labs/ios-yoonit-camera.git', :tag => '2.3.0' end diff --git a/Example/YoonitFacefyDemo/Podfile.lock b/Example/YoonitFacefyDemo/Podfile.lock index 8cfbf90..c2b81cd 100644 --- a/Example/YoonitFacefyDemo/Podfile.lock +++ b/Example/YoonitFacefyDemo/Podfile.lock @@ -52,12 +52,12 @@ PODS: - nanopb/encode (2.30907.0) - PromisesObjC (1.2.12) - Protobuf (3.14.0) - - YoonitCamera (2.3.0) - - YoonitFacefy (1.0.3): + - YoonitCamera (2.2.1) + - YoonitFacefy (1.0.4): - GoogleMLKit/FaceDetection DEPENDENCIES: - - YoonitCamera + - YoonitCamera (from `https://github.com/Yoonit-Labs/ios-yoonit-camera.git`, tag `2.3.0`) - YoonitFacefy (from `../../`) SPEC REPOS: @@ -74,12 +74,19 @@ SPEC REPOS: - nanopb - PromisesObjC - Protobuf - - YoonitCamera EXTERNAL SOURCES: + YoonitCamera: + :git: https://github.com/Yoonit-Labs/ios-yoonit-camera.git + :tag: 2.3.0 YoonitFacefy: :path: "../../" +CHECKOUT OPTIONS: + YoonitCamera: + :git: https://github.com/Yoonit-Labs/ios-yoonit-camera.git + :tag: 2.3.0 + SPEC CHECKSUMS: GoogleDataTransport: 1024b1a4dfbd7a0e92cb20d7e0a6f1fb66b449a4 GoogleMLKit: 2a9032170872c4464d516700a04661d6e5b98a77 @@ -93,9 +100,9 @@ SPEC CHECKSUMS: nanopb: 59221d7f958fb711001e6a449489542d92ae113e PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 Protobuf: 0cde852566359049847168e51bd1c690e0f70056 - YoonitCamera: a25677c77bc14f22fc9efaffceff60b54cc32049 - YoonitFacefy: 6528f0432d1fb05add2a6d257318f160538337c1 + YoonitCamera: 0428ca55617a7752cd8a0298963c5d5144ddad6d + YoonitFacefy: 7d4eba6167bb23fdc27777c4e9f0c2da2f8e1b32 -PODFILE CHECKSUM: 45150530e3052be2fb55a1493c2f00eedc5c1d3b +PODFILE CHECKSUM: c04e6cdfb6d85eee0ddca6d6f799401b3228e4a3 COCOAPODS: 1.10.1 diff --git a/Example/YoonitFacefyDemo/Pods/Local Podspecs/YoonitFacefy.podspec.json b/Example/YoonitFacefyDemo/Pods/Local Podspecs/YoonitFacefy.podspec.json index a62c476..1edeb8d 100644 --- a/Example/YoonitFacefyDemo/Pods/Local Podspecs/YoonitFacefy.podspec.json +++ b/Example/YoonitFacefyDemo/Pods/Local Podspecs/YoonitFacefy.podspec.json @@ -1,6 +1,6 @@ { "name": "YoonitFacefy", - "version": "1.0.3", + "version": "1.0.4", "summary": "The face detection's module for iOS with a lot of awesome features", "description": "\"The face detection's module for iOS with a lot of awesome features\"", "homepage": "https://github.com/Yoonit-Labs/ios-yoonit-facefy", @@ -18,7 +18,7 @@ }, "source": { "git": "https://github.com/Yoonit-Labs/ios-yoonit-facefy.git", - "tag": "1.0.3" + "tag": "1.0.4" }, "source_files": [ "YoonitFacefy/src/**/*", diff --git a/Example/YoonitFacefyDemo/Pods/Manifest.lock b/Example/YoonitFacefyDemo/Pods/Manifest.lock index 8cfbf90..c2b81cd 100644 --- a/Example/YoonitFacefyDemo/Pods/Manifest.lock +++ b/Example/YoonitFacefyDemo/Pods/Manifest.lock @@ -52,12 +52,12 @@ PODS: - nanopb/encode (2.30907.0) - PromisesObjC (1.2.12) - Protobuf (3.14.0) - - YoonitCamera (2.3.0) - - YoonitFacefy (1.0.3): + - YoonitCamera (2.2.1) + - YoonitFacefy (1.0.4): - GoogleMLKit/FaceDetection DEPENDENCIES: - - YoonitCamera + - YoonitCamera (from `https://github.com/Yoonit-Labs/ios-yoonit-camera.git`, tag `2.3.0`) - YoonitFacefy (from `../../`) SPEC REPOS: @@ -74,12 +74,19 @@ SPEC REPOS: - nanopb - PromisesObjC - Protobuf - - YoonitCamera EXTERNAL SOURCES: + YoonitCamera: + :git: https://github.com/Yoonit-Labs/ios-yoonit-camera.git + :tag: 2.3.0 YoonitFacefy: :path: "../../" +CHECKOUT OPTIONS: + YoonitCamera: + :git: https://github.com/Yoonit-Labs/ios-yoonit-camera.git + :tag: 2.3.0 + SPEC CHECKSUMS: GoogleDataTransport: 1024b1a4dfbd7a0e92cb20d7e0a6f1fb66b449a4 GoogleMLKit: 2a9032170872c4464d516700a04661d6e5b98a77 @@ -93,9 +100,9 @@ SPEC CHECKSUMS: nanopb: 59221d7f958fb711001e6a449489542d92ae113e PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 Protobuf: 0cde852566359049847168e51bd1c690e0f70056 - YoonitCamera: a25677c77bc14f22fc9efaffceff60b54cc32049 - YoonitFacefy: 6528f0432d1fb05add2a6d257318f160538337c1 + YoonitCamera: 0428ca55617a7752cd8a0298963c5d5144ddad6d + YoonitFacefy: 7d4eba6167bb23fdc27777c4e9f0c2da2f8e1b32 -PODFILE CHECKSUM: 45150530e3052be2fb55a1493c2f00eedc5c1d3b +PODFILE CHECKSUM: c04e6cdfb6d85eee0ddca6d6f799401b3228e4a3 COCOAPODS: 1.10.1 diff --git a/Example/YoonitFacefyDemo/Pods/Pods.xcodeproj/project.pbxproj b/Example/YoonitFacefyDemo/Pods/Pods.xcodeproj/project.pbxproj index 2b732f4..1982345 100644 --- a/Example/YoonitFacefyDemo/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/YoonitFacefyDemo/Pods/Pods.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 51; + objectVersion = 50; objects = { /* Begin PBXAggregateTarget section */ @@ -2417,7 +2417,7 @@ LastUpgradeCheck = 1100; }; buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; - compatibilityVersion = "Xcode 10.0"; + compatibilityVersion = "Xcode 9.3"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -2988,27 +2988,9 @@ }; name = Release; }; - 0A1B39DE75C6DD70EBB182EBBFD7F69C /* Release */ = { + 0822CFBAACA1114BB57C5BC049A6B4FA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 78C62D5007745CD1625F305F4B9BE7D9 /* MLKitVision.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CLANG_ENABLE_OBJC_WEAK = NO; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 1DBC795E2E755058B11F1BA48C64411F /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = CD79F7F2A7A57D5E83CA64FD640A8832 /* Pods-YoonitFacefyDemo.release.xcconfig */; + baseConfigurationReference = 4EF848D285BF880D8B10CA2A5A2956DF /* Pods-YoonitFacefyDemo.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -3022,7 +3004,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "Target Support Files/Pods-YoonitFacefyDemo/Pods-YoonitFacefyDemo-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.1; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -3038,10 +3020,27 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; + name = Debug; + }; + 0A1B39DE75C6DD70EBB182EBBFD7F69C /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 78C62D5007745CD1625F305F4B9BE7D9 /* MLKitVision.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ENABLE_OBJC_WEAK = NO; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; name = Release; }; 20655A9FA9DDAF3F56858CA52E58EFFE /* Debug */ = { @@ -3163,72 +3162,6 @@ }; name = Debug; }; - 4BC7450F9457737EE3E637BA155B56F7 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - 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 = ( - "POD_CONFIGURATION_DEBUG=1", - "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 = 14.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; 4FBFAA1A909F5917BE4EA8CF1DA365A1 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = AB5EF7B12B0B3A35BAB7051F357F2A60 /* MLKitCommon.debug.xcconfig */; @@ -3316,6 +3249,68 @@ }; name = Release; }; + 593F10BFFA94DAC7D6E17FB8A7F32D72 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + 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_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=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 = 14.1; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Release; + }; 59A6D7F5E4AAE497A81FCFE887B518CC /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = D79F978E0863EE059A36DE3A5769F6A1 /* GTMSessionFetcher.debug.xcconfig */; @@ -3453,6 +3448,44 @@ }; name = Release; }; + 7E007896810D8065C19C54B890537C3C /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CD79F7F2A7A57D5E83CA64FD640A8832 /* Pods-YoonitFacefyDemo.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-YoonitFacefyDemo/Pods-YoonitFacefyDemo-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 14.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-YoonitFacefyDemo/Pods-YoonitFacefyDemo.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; 7F15FE4AEC6FF01251074D7AE1A07F22 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 7F19D6195A13E5D4FEB2FDF89926FB9B /* MLKitFaceDetection.debug.xcconfig */; @@ -3469,68 +3502,6 @@ }; name = Debug; }; - 8B5A46FF8D3C1289CDEE3BAFACABCD2A /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - 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_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=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 = 14.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Release; - }; 8E69BF3BBDF1300F1C0B8E5DB53C4D17 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 828D64E4D4660899651131465D817AA5 /* GoogleDataTransport.debug.xcconfig */; @@ -3633,6 +3604,72 @@ }; name = Release; }; + A0374B8CF9A7D6A45F6D116D698D1C19 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + 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 = ( + "POD_CONFIGURATION_DEBUG=1", + "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 = 14.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; A360BDD60A5E58561364FE0B92C125F2 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 0F305898DFDB1AF32BB8D667DB2E1C18 /* Protobuf.release.xcconfig */; @@ -3702,43 +3739,6 @@ }; name = Debug; }; - BDFDD08EC9F18F428B1C0CC433764FF1 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 4EF848D285BF880D8B10CA2A5A2956DF /* Pods-YoonitFacefyDemo.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-YoonitFacefyDemo/Pods-YoonitFacefyDemo-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-YoonitFacefyDemo/Pods-YoonitFacefyDemo.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; C511A983214E00BB47CE54479F2563E6 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 6D4F56CA9A9E524B6259F4DE4656C0BA /* YoonitFacefy.debug.xcconfig */; @@ -4070,8 +4070,8 @@ 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 4BC7450F9457737EE3E637BA155B56F7 /* Debug */, - 8B5A46FF8D3C1289CDEE3BAFACABCD2A /* Release */, + A0374B8CF9A7D6A45F6D116D698D1C19 /* Debug */, + 593F10BFFA94DAC7D6E17FB8A7F32D72 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4079,8 +4079,8 @@ 551F29DD5987E399412219FE48076824 /* Build configuration list for PBXNativeTarget "Pods-YoonitFacefyDemo" */ = { isa = XCConfigurationList; buildConfigurations = ( - BDFDD08EC9F18F428B1C0CC433764FF1 /* Debug */, - 1DBC795E2E755058B11F1BA48C64411F /* Release */, + 0822CFBAACA1114BB57C5BC049A6B4FA /* Debug */, + 7E007896810D8065C19C54B890537C3C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/YoonitFacefyDemo/YoonitFacefyDemo.xcodeproj/project.pbxproj b/Example/YoonitFacefyDemo/YoonitFacefyDemo.xcodeproj/project.pbxproj index 72b9080..4ab1f79 100644 --- a/Example/YoonitFacefyDemo/YoonitFacefyDemo.xcodeproj/project.pbxproj +++ b/Example/YoonitFacefyDemo/YoonitFacefyDemo.xcodeproj/project.pbxproj @@ -3,10 +3,11 @@ archiveVersion = 1; classes = { }; - objectVersion = 51; + objectVersion = 50; objects = { /* Begin PBXBuildFile section */ + 2956B7E45E91BDC648F136A1 /* Pods_YoonitFacefyDemo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F8DF3F2403B49B11CE5FC600 /* Pods_YoonitFacefyDemo.framework */; }; 5C06E54825D1F09A00E6770F /* Podfile in Resources */ = {isa = PBXBuildFile; fileRef = 5C06E54725D1F09A00E6770F /* Podfile */; }; 5C6580CC25D5ACA3001171F8 /* GraphicView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C6580CB25D5ACA3001171F8 /* GraphicView.swift */; }; 6176EFC2252E496D00F4D4DD /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6176EFC1252E496D00F4D4DD /* AppDelegate.swift */; }; @@ -15,10 +16,11 @@ 6176EFCB252E496F00F4D4DD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6176EFCA252E496F00F4D4DD /* Assets.xcassets */; }; 6176EFCE252E496F00F4D4DD /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6176EFCC252E496F00F4D4DD /* LaunchScreen.storyboard */; }; 6176EFDE252E4A9100F4D4DD /* FacefyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6176EFDB252E4A9100F4D4DD /* FacefyViewController.swift */; }; - E04B1D1FB428FE36ABCC7B91 /* Pods_YoonitFacefyDemo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C72063803094F50B0D23D173 /* Pods_YoonitFacefyDemo.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 2B06598B5965589526FED76E /* Pods-YoonitFacefyDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-YoonitFacefyDemo.release.xcconfig"; path = "Target Support Files/Pods-YoonitFacefyDemo/Pods-YoonitFacefyDemo.release.xcconfig"; sourceTree = ""; }; + 51782800D00239D214AC409C /* Pods-YoonitFacefyDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-YoonitFacefyDemo.debug.xcconfig"; path = "Target Support Files/Pods-YoonitFacefyDemo/Pods-YoonitFacefyDemo.debug.xcconfig"; sourceTree = ""; }; 5C06E54725D1F09A00E6770F /* Podfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Podfile; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 5C06E5A925D1FBC500E6770F /* YoonitFacefy.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = YoonitFacefy.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 5C6580CB25D5ACA3001171F8 /* GraphicView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GraphicView.swift; sourceTree = ""; }; @@ -30,9 +32,7 @@ 6176EFCD252E496F00F4D4DD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 6176EFCF252E496F00F4D4DD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 6176EFDB252E4A9100F4D4DD /* FacefyViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FacefyViewController.swift; sourceTree = ""; }; - C72063803094F50B0D23D173 /* Pods_YoonitFacefyDemo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_YoonitFacefyDemo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - EFDC5B8287CD37C30E835D54 /* Pods-YoonitFacefyDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-YoonitFacefyDemo.debug.xcconfig"; path = "Target Support Files/Pods-YoonitFacefyDemo/Pods-YoonitFacefyDemo.debug.xcconfig"; sourceTree = ""; }; - F834A363E2F719CA947B1589 /* Pods-YoonitFacefyDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-YoonitFacefyDemo.release.xcconfig"; path = "Target Support Files/Pods-YoonitFacefyDemo/Pods-YoonitFacefyDemo.release.xcconfig"; sourceTree = ""; }; + F8DF3F2403B49B11CE5FC600 /* Pods_YoonitFacefyDemo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_YoonitFacefyDemo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -40,7 +40,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E04B1D1FB428FE36ABCC7B91 /* Pods_YoonitFacefyDemo.framework in Frameworks */, + 2956B7E45E91BDC648F136A1 /* Pods_YoonitFacefyDemo.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -84,8 +84,8 @@ E43515AC47E0279330A1606A /* Pods */ = { isa = PBXGroup; children = ( - EFDC5B8287CD37C30E835D54 /* Pods-YoonitFacefyDemo.debug.xcconfig */, - F834A363E2F719CA947B1589 /* Pods-YoonitFacefyDemo.release.xcconfig */, + 51782800D00239D214AC409C /* Pods-YoonitFacefyDemo.debug.xcconfig */, + 2B06598B5965589526FED76E /* Pods-YoonitFacefyDemo.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -94,7 +94,7 @@ isa = PBXGroup; children = ( 5C06E5A925D1FBC500E6770F /* YoonitFacefy.framework */, - C72063803094F50B0D23D173 /* Pods_YoonitFacefyDemo.framework */, + F8DF3F2403B49B11CE5FC600 /* Pods_YoonitFacefyDemo.framework */, ); name = Frameworks; sourceTree = ""; @@ -106,12 +106,12 @@ isa = PBXNativeTarget; buildConfigurationList = 6176EFD2252E496F00F4D4DD /* Build configuration list for PBXNativeTarget "YoonitFacefyDemo" */; buildPhases = ( - BA2A97F47C37B6EF19CC3A4D /* [CP] Check Pods Manifest.lock */, + E5185F88A35F0D8BFFC5A5D4 /* [CP] Check Pods Manifest.lock */, 6176EFBA252E496D00F4D4DD /* Sources */, 6176EFBB252E496D00F4D4DD /* Frameworks */, 6176EFBC252E496D00F4D4DD /* Resources */, - B63DF2774B864E8B757221CC /* [CP] Embed Pods Frameworks */, - 9E6DB6C3F3022D55C95EC306 /* [CP] Copy Pods Resources */, + D2A421A5473A8C965226611E /* [CP] Embed Pods Frameworks */, + 0663E8C00BC3805DB2F99BD9 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -169,7 +169,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 9E6DB6C3F3022D55C95EC306 /* [CP] Copy Pods Resources */ = { + 0663E8C00BC3805DB2F99BD9 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -186,7 +186,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-YoonitFacefyDemo/Pods-YoonitFacefyDemo-resources.sh\"\n"; showEnvVarsInLog = 0; }; - B63DF2774B864E8B757221CC /* [CP] Embed Pods Frameworks */ = { + D2A421A5473A8C965226611E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -203,7 +203,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-YoonitFacefyDemo/Pods-YoonitFacefyDemo-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - BA2A97F47C37B6EF19CC3A4D /* [CP] Check Pods Manifest.lock */ = { + E5185F88A35F0D8BFFC5A5D4 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -314,7 +314,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ""; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.1; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -371,7 +371,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ""; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.1; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -384,7 +384,7 @@ }; 6176EFD3252E496F00F4D4DD /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EFDC5B8287CD37C30E835D54 /* Pods-YoonitFacefyDemo.debug.xcconfig */; + baseConfigurationReference = 51782800D00239D214AC409C /* Pods-YoonitFacefyDemo.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -414,7 +414,7 @@ }; 6176EFD4252E496F00F4D4DD /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F834A363E2F719CA947B1589 /* Pods-YoonitFacefyDemo.release.xcconfig */; + baseConfigurationReference = 2B06598B5965589526FED76E /* Pods-YoonitFacefyDemo.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; diff --git a/Example/YoonitFacefyDemo/YoonitFacefyDemo/Base.lproj/Main.storyboard b/Example/YoonitFacefyDemo/YoonitFacefyDemo/Base.lproj/Main.storyboard index 92e392f..ff2b807 100644 --- a/Example/YoonitFacefyDemo/YoonitFacefyDemo/Base.lproj/Main.storyboard +++ b/Example/YoonitFacefyDemo/YoonitFacefyDemo/Base.lproj/Main.storyboard @@ -26,89 +26,103 @@ + + @@ -125,6 +139,7 @@ + diff --git a/YoonitFacefy.xcodeproj/project.pbxproj b/YoonitFacefy.xcodeproj/project.pbxproj index 80d3335..9fbd422 100644 --- a/YoonitFacefy.xcodeproj/project.pbxproj +++ b/YoonitFacefy.xcodeproj/project.pbxproj @@ -7,9 +7,9 @@ objects = { /* Begin PBXBuildFile section */ - 14A21D681153BBE1C4B003A8 /* Pods_YoonitFacefy.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F916739A319F58C181F7B61D /* Pods_YoonitFacefy.framework */; }; 5C06E5CF25D1FED400E6770F /* Facefy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C06E5CE25D1FED400E6770F /* Facefy.swift */; }; 5C0C64392542108B00EDF95B /* logo_cyberlabs.png in Resources */ = {isa = PBXBuildFile; fileRef = 5C0C64382542108B00EDF95B /* logo_cyberlabs.png */; }; + 5C5056FF260BA65A00286F91 /* YoonitFacefy.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CB4F8EE25CC7DDC001D3606 /* YoonitFacefy.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5C65787E25D32FB2001171F8 /* libGoogleDataTransport.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C65787D25D32FB2001171F8 /* libGoogleDataTransport.a */; }; 5C65788025D32FB2001171F8 /* libGoogleToolboxForMac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C65787F25D32FB2001171F8 /* libGoogleToolboxForMac.a */; }; 5C65788225D32FB2001171F8 /* libGoogleUtilities.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C65788125D32FB2001171F8 /* libGoogleUtilities.a */; }; @@ -25,9 +25,11 @@ 6176EF23252CFC9500F4D4DD /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 6176EF22252CFC9500F4D4DD /* LICENSE */; }; 6176EF26252CFEE000F4D4DD /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 6176EF25252CFEE000F4D4DD /* README.md */; }; 6176EFA8252E476000F4D4DD /* Example in Resources */ = {isa = PBXBuildFile; fileRef = 6176EFA7252E476000F4D4DD /* Example */; }; + BAABA018E3CFB32346F0B755 /* Pods_YoonitFacefy.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 717605CEDF04829548C01904 /* Pods_YoonitFacefy.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 3429F21BA41002C3557F5755 /* Pods-YoonitFacefy.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-YoonitFacefy.release.xcconfig"; path = "Target Support Files/Pods-YoonitFacefy/Pods-YoonitFacefy.release.xcconfig"; sourceTree = ""; }; 5C06E5CE25D1FED400E6770F /* Facefy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Facefy.swift; sourceTree = ""; }; 5C0C64382542108B00EDF95B /* logo_cyberlabs.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo_cyberlabs.png; sourceTree = ""; }; 5C65787D25D32FB2001171F8 /* libGoogleDataTransport.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libGoogleDataTransport.a; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -36,7 +38,6 @@ 5C65788325D32FB2001171F8 /* libGoogleUtilitiesComponents.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libGoogleUtilitiesComponents.a; sourceTree = BUILT_PRODUCTS_DIR; }; 5C65788525D32FB2001171F8 /* libGTMSessionFetcher.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libGTMSessionFetcher.a; sourceTree = BUILT_PRODUCTS_DIR; }; 5C65788725D32FB2001171F8 /* libnanopb.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libnanopb.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 5C65788925D32FB2001171F8 /* libPods-YoonitFacefy.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libPods-YoonitFacefy.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 5C65788B25D32FB2001171F8 /* libPromisesObjC.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPromisesObjC.a; sourceTree = BUILT_PRODUCTS_DIR; }; 5C65788D25D32FB2001171F8 /* libProtobuf.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libProtobuf.a; sourceTree = BUILT_PRODUCTS_DIR; }; 5C77937425EEABDF00CDE6E9 /* facefy.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = facefy.gif; sourceTree = ""; }; @@ -49,9 +50,8 @@ 6176EF22252CFC9500F4D4DD /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; 6176EF25252CFEE000F4D4DD /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; 6176EFA7252E476000F4D4DD /* Example */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Example; sourceTree = ""; }; - 6E55E37D37145733096CC85A /* Pods-YoonitFacefy.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-YoonitFacefy.release.xcconfig"; path = "Target Support Files/Pods-YoonitFacefy/Pods-YoonitFacefy.release.xcconfig"; sourceTree = ""; }; - 9913F20FC3F5CAA58AFDDAD5 /* Pods-YoonitFacefy.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-YoonitFacefy.debug.xcconfig"; path = "Target Support Files/Pods-YoonitFacefy/Pods-YoonitFacefy.debug.xcconfig"; sourceTree = ""; }; - F916739A319F58C181F7B61D /* Pods_YoonitFacefy.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_YoonitFacefy.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 717605CEDF04829548C01904 /* Pods_YoonitFacefy.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_YoonitFacefy.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 80B20263ECC8D12A85905787 /* Pods-YoonitFacefy.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-YoonitFacefy.debug.xcconfig"; path = "Target Support Files/Pods-YoonitFacefy/Pods-YoonitFacefy.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -67,7 +67,7 @@ 5C65788825D32FB2001171F8 /* libnanopb.a in Frameworks */, 5C65788C25D32FB2001171F8 /* libPromisesObjC.a in Frameworks */, 5C65788E25D32FB2001171F8 /* libProtobuf.a in Frameworks */, - 14A21D681153BBE1C4B003A8 /* Pods_YoonitFacefy.framework in Frameworks */, + BAABA018E3CFB32346F0B755 /* Pods_YoonitFacefy.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -121,8 +121,8 @@ 85073D94B694632C1A966E28 /* Pods */ = { isa = PBXGroup; children = ( - 9913F20FC3F5CAA58AFDDAD5 /* Pods-YoonitFacefy.debug.xcconfig */, - 6E55E37D37145733096CC85A /* Pods-YoonitFacefy.release.xcconfig */, + 80B20263ECC8D12A85905787 /* Pods-YoonitFacefy.debug.xcconfig */, + 3429F21BA41002C3557F5755 /* Pods-YoonitFacefy.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -136,10 +136,9 @@ 5C65788325D32FB2001171F8 /* libGoogleUtilitiesComponents.a */, 5C65788525D32FB2001171F8 /* libGTMSessionFetcher.a */, 5C65788725D32FB2001171F8 /* libnanopb.a */, - 5C65788925D32FB2001171F8 /* libPods-YoonitFacefy.a */, 5C65788B25D32FB2001171F8 /* libPromisesObjC.a */, 5C65788D25D32FB2001171F8 /* libProtobuf.a */, - F916739A319F58C181F7B61D /* Pods_YoonitFacefy.framework */, + 717605CEDF04829548C01904 /* Pods_YoonitFacefy.framework */, ); name = Frameworks; sourceTree = ""; @@ -151,6 +150,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 5C5056FF260BA65A00286F91 /* YoonitFacefy.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -161,12 +161,12 @@ isa = PBXNativeTarget; buildConfigurationList = 6176EEFE252CF9D200F4D4DD /* Build configuration list for PBXNativeTarget "YoonitFacefy" */; buildPhases = ( - E198AB70057DFCE458FEC583 /* [CP] Check Pods Manifest.lock */, + 534F63B2AB814FD7C227D150 /* [CP] Check Pods Manifest.lock */, 6176EEF1252CF9D200F4D4DD /* Headers */, 6176EEF2252CF9D200F4D4DD /* Sources */, 6176EEF3252CF9D200F4D4DD /* Frameworks */, 6176EEF4252CF9D200F4D4DD /* Resources */, - C4D1C7D6C5EF934EAC20F8D9 /* [CP] Copy Pods Resources */, + B0CC399CA4D4583247F1FA21 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -226,43 +226,43 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - C4D1C7D6C5EF934EAC20F8D9 /* [CP] Copy Pods Resources */ = { + 534F63B2AB814FD7C227D150 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-YoonitFacefy/Pods-YoonitFacefy-resources-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Copy Pods Resources"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-YoonitFacefy/Pods-YoonitFacefy-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-YoonitFacefy-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-YoonitFacefy/Pods-YoonitFacefy-resources.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - E198AB70057DFCE458FEC583 /* [CP] Check Pods Manifest.lock */ = { + B0CC399CA4D4583247F1FA21 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-YoonitFacefy/Pods-YoonitFacefy-resources-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-YoonitFacefy-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-YoonitFacefy/Pods-YoonitFacefy-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-YoonitFacefy/Pods-YoonitFacefy-resources.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -405,7 +405,7 @@ }; 6176EEFF252CF9D200F4D4DD /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9913F20FC3F5CAA58AFDDAD5 /* Pods-YoonitFacefy.debug.xcconfig */; + baseConfigurationReference = 80B20263ECC8D12A85905787 /* Pods-YoonitFacefy.debug.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; CODE_SIGN_STYLE = Automatic; @@ -435,7 +435,7 @@ }; 6176EF00252CF9D200F4D4DD /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6E55E37D37145733096CC85A /* Pods-YoonitFacefy.release.xcconfig */; + baseConfigurationReference = 3429F21BA41002C3557F5755 /* Pods-YoonitFacefy.release.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; CODE_SIGN_STYLE = Automatic; From ad7850ca8b4793e6cbe1a4e8d7b537dc3c86bac4 Mon Sep 17 00:00:00 2001 From: HaroldoTeruya Date: Thu, 1 Apr 2021 15:38:52 -0300 Subject: [PATCH 3/3] build: bump version from 1.0.4 to 1.0.5 --- .../YoonitFacefyDemo.xcodeproj/project.pbxproj | 6 +++--- YoonitFacefy.podspec | 7 ++++++- YoonitFacefy.xcodeproj/project.pbxproj | 4 ++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Example/YoonitFacefyDemo/YoonitFacefyDemo.xcodeproj/project.pbxproj b/Example/YoonitFacefyDemo/YoonitFacefyDemo.xcodeproj/project.pbxproj index 4ab1f79..bc1ded3 100644 --- a/Example/YoonitFacefyDemo/YoonitFacefyDemo.xcodeproj/project.pbxproj +++ b/Example/YoonitFacefyDemo/YoonitFacefyDemo.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 51; objects = { /* Begin PBXBuildFile section */ @@ -404,7 +404,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = com.yoonit.facefydemo; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -434,7 +434,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = com.yoonit.facefydemo; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; diff --git a/YoonitFacefy.podspec b/YoonitFacefy.podspec index b568a25..74cc005 100644 --- a/YoonitFacefy.podspec +++ b/YoonitFacefy.podspec @@ -9,7 +9,7 @@ Pod::Spec.new do |spec| # spec.name = "YoonitFacefy" - spec.version = "1.0.4" + spec.version = "1.0.5" spec.summary = "The face detection's module for iOS with a lot of awesome features" # This description is used to generate tags and improve search results. @@ -75,10 +75,15 @@ Pod::Spec.new do |spec| # spec.source_files = "YoonitFacefy/src/**/*", "Classes", "Classes/**/*.{h,m,swift}" + spec.exclude_files = "Classes/Exclude" + spec.swift_version = "5.0" + spec.static_framework = true + spec.dependency 'GoogleMLKit/FaceDetection' + spec.pod_target_xcconfig = { 'LIBRARY_SEARCH_PATHS' => '${SRCROOT}/**', 'FRAMEWORK_SEARCH_PATHS' => '${SRCROOT}/**', diff --git a/YoonitFacefy.xcodeproj/project.pbxproj b/YoonitFacefy.xcodeproj/project.pbxproj index 9fbd422..d0429c9 100644 --- a/YoonitFacefy.xcodeproj/project.pbxproj +++ b/YoonitFacefy.xcodeproj/project.pbxproj @@ -422,7 +422,7 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = com.yoonit.facefy; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; @@ -452,7 +452,7 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = com.yoonit.facefy; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES;