From 0e0c6bd90f9fdcba193f8baeb9fc3aacc2f4ebda Mon Sep 17 00:00:00 2001 From: Madhava Jay Date: Mon, 18 Mar 2019 11:21:58 +1100 Subject: [PATCH 1/4] Fixed issues to compile and run FaceDetection demo - Updated OpenCV submodule to 4.0.1 - Renamed methods detectMultiscaleWith to DetectMultiScaleOnImage - Removed unused test targets - Added reference to data folder in opencv for haar cascade files - Updated Xcode Project to Swift Version 4.2 - Fixed some minor project Code Deprecation changes --- LegoCV/FaceDetection/AppDelegate.swift | 2 +- .../AppIcon.appiconset/Contents.json | 30 ++ .../Recognition/FaceDetector.swift | 4 +- LegoCV/LegoCV.xcodeproj/project.pbxproj | 290 ++---------------- .../xcschemes/FaceDetection.xcscheme | 91 ++++++ .../xcshareddata/xcschemes/LegoCV.xcscheme | 12 +- .../xcschemes/LegoSwiftCV.xcscheme | 2 +- .../ObjectDetection/OCVCascadeClassifier.mm | 31 +- LegoCV/LegoCVTests/Info.plist | 22 -- LegoCV/LegoCVTests/LegoCVTests.swift | 36 --- LegoCV/LegoSwiftCVTests/Info.plist | 22 -- .../LegoSwiftCVTests/LegoSwiftCVTests.swift | 34 -- opencv | 2 +- 13 files changed, 165 insertions(+), 413 deletions(-) create mode 100644 LegoCV/LegoCV.xcodeproj/xcshareddata/xcschemes/FaceDetection.xcscheme delete mode 100644 LegoCV/LegoCVTests/Info.plist delete mode 100644 LegoCV/LegoCVTests/LegoCVTests.swift delete mode 100644 LegoCV/LegoSwiftCVTests/Info.plist delete mode 100644 LegoCV/LegoSwiftCVTests/LegoSwiftCVTests.swift diff --git a/LegoCV/FaceDetection/AppDelegate.swift b/LegoCV/FaceDetection/AppDelegate.swift index d843cc2..e21fd88 100644 --- a/LegoCV/FaceDetection/AppDelegate.swift +++ b/LegoCV/FaceDetection/AppDelegate.swift @@ -14,7 +14,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. return true } diff --git a/LegoCV/FaceDetection/Assets.xcassets/AppIcon.appiconset/Contents.json b/LegoCV/FaceDetection/Assets.xcassets/AppIcon.appiconset/Contents.json index 36d2c80..d8db8d6 100644 --- a/LegoCV/FaceDetection/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/LegoCV/FaceDetection/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,5 +1,15 @@ { "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "29x29", @@ -30,6 +40,16 @@ "size" : "60x60", "scale" : "3x" }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "2x" + }, { "idiom" : "ipad", "size" : "29x29", @@ -59,6 +79,16 @@ "idiom" : "ipad", "size" : "76x76", "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" } ], "info" : { diff --git a/LegoCV/FaceDetection/Recognition/FaceDetector.swift b/LegoCV/FaceDetection/Recognition/FaceDetector.swift index 18b5251..485d55d 100644 --- a/LegoCV/FaceDetection/Recognition/FaceDetector.swift +++ b/LegoCV/FaceDetection/Recognition/FaceDetector.swift @@ -8,7 +8,7 @@ import LegoCV -class FaceDetector : OCVVideoCameraDelegate { +class FaceDetector : NSObject, OCVVideoCameraDelegate { private var imageView : UIImageView private var scale : CGFloat @@ -66,7 +66,7 @@ class FaceDetector : OCVVideoCameraDelegate { private func setupCamera () { videoCamera = OCVVideoCamera(parentView: imageView) videoCamera.defaultAVCaptureDevicePosition = .front - videoCamera.defaultAVCaptureSessionPreset = AVCaptureSessionPreset640x480 + videoCamera.defaultAVCaptureSessionPreset = AVCaptureSession.Preset.vga640x480.rawValue videoCamera.defaultAVCaptureVideoOrientation = .portrait videoCamera.defaultFPS = 30 videoCamera.grayscaleMode = false diff --git a/LegoCV/LegoCV.xcodeproj/project.pbxproj b/LegoCV/LegoCV.xcodeproj/project.pbxproj index e5d5a6f..ab2a733 100644 --- a/LegoCV/LegoCV.xcodeproj/project.pbxproj +++ b/LegoCV/LegoCV.xcodeproj/project.pbxproj @@ -225,8 +225,6 @@ 386F2B841E3524D300320AEB /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 386F2B811E3524D300320AEB /* UIKit.framework */; }; 386F2B871E352A4800320AEB /* OCVPointerObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 386F2B851E352A4800320AEB /* OCVPointerObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; 386F2B881E352A4800320AEB /* OCVPointerObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 386F2B861E352A4800320AEB /* OCVPointerObject.m */; }; - 388B229421863CF000F24D45 /* LegoSwiftCV.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 388B228B21863CF000F24D45 /* LegoSwiftCV.framework */; }; - 388B229B21863CF000F24D45 /* LegoSwiftCVTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 388B229A21863CF000F24D45 /* LegoSwiftCVTests.swift */; }; 388B229D21863CF000F24D45 /* LegoSwiftCV.h in Headers */ = {isa = PBXBuildFile; fileRef = 388B228D21863CF000F24D45 /* LegoSwiftCV.h */; settings = {ATTRIBUTES = (Public, ); }; }; 388B22A021863CF000F24D45 /* LegoSwiftCV.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 388B228B21863CF000F24D45 /* LegoSwiftCV.framework */; }; 388B22A121863CF000F24D45 /* LegoSwiftCV.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 388B228B21863CF000F24D45 /* LegoSwiftCV.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; @@ -257,8 +255,6 @@ 389871191E6F32BE00020CFB /* OCVPersistence.h in Headers */ = {isa = PBXBuildFile; fileRef = 389871181E6F32BE00020CFB /* OCVPersistence.h */; settings = {ATTRIBUTES = (Public, ); }; }; 3898711D1E6F3CB900020CFB /* OCVFileStorageFormatDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 3898711B1E6F3CB900020CFB /* OCVFileStorageFormatDescriptor.h */; settings = {ATTRIBUTES = (Public, ); }; }; 3898711E1E6F3CB900020CFB /* OCVFileStorageFormatDescriptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 3898711C1E6F3CB900020CFB /* OCVFileStorageFormatDescriptor.m */; }; - 38B4D4BA1E2AA01F008AAAB0 /* LegoCV.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 38B4D4B01E2AA01F008AAAB0 /* LegoCV.framework */; }; - 38B4D4BF1E2AA01F008AAAB0 /* LegoCVTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38B4D4BE1E2AA01F008AAAB0 /* LegoCVTests.swift */; }; 38B4D4C11E2AA01F008AAAB0 /* LegoCV.h in Headers */ = {isa = PBXBuildFile; fileRef = 38B4D4B31E2AA01F008AAAB0 /* LegoCV.h */; settings = {ATTRIBUTES = (Public, ); }; }; 38B4D4D31E2AA110008AAAB0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38B4D4D21E2AA110008AAAB0 /* AppDelegate.swift */; }; 38B4D4D81E2AA110008AAAB0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 38B4D4D61E2AA110008AAAB0 /* Main.storyboard */; }; @@ -358,6 +354,7 @@ 67E64EDCC12B0E85158EED46 /* OCVInterpolationType.h in Headers */ = {isa = PBXBuildFile; fileRef = 67E645697CBF982455006B11 /* OCVInterpolationType.h */; settings = {ATTRIBUTES = (Public, ); }; }; 67E64F5B14D37BB167F88E90 /* OCVGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = 67E648280FA290221C92DE01 /* OCVGeometry.h */; settings = {ATTRIBUTES = (Public, ); }; }; 67E64F822344F94C3B4967C8 /* OCVInputOutputArray+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 67E6438D1CE78C8D148D0DE8 /* OCVInputOutputArray+Private.h */; }; + E2EF901A223F16B5009E8312 /* data in Resources */ = {isa = PBXBuildFile; fileRef = E2EF9019223F16B4009E8312 /* data */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -368,20 +365,6 @@ remoteGlobalIDString = 38B4D4AF1E2AA01F008AAAB0; remoteInfo = LegoCV; }; - 388B229521863CF000F24D45 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 38B4D4A71E2AA01F008AAAB0 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 388B228A21863CF000F24D45; - remoteInfo = LegoSwiftCV; - }; - 388B229721863CF000F24D45 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 38B4D4A71E2AA01F008AAAB0 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 38B4D4CF1E2AA110008AAAB0; - remoteInfo = FaceDetection; - }; 388B229E21863CF000F24D45 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 38B4D4A71E2AA01F008AAAB0 /* Project object */; @@ -389,13 +372,6 @@ remoteGlobalIDString = 388B228A21863CF000F24D45; remoteInfo = LegoSwiftCV; }; - 38B4D4BB1E2AA01F008AAAB0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 38B4D4A71E2AA01F008AAAB0 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 38B4D4AF1E2AA01F008AAAB0; - remoteInfo = LegoCV; - }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -633,9 +609,6 @@ 388B228B21863CF000F24D45 /* LegoSwiftCV.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LegoSwiftCV.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 388B228D21863CF000F24D45 /* LegoSwiftCV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LegoSwiftCV.h; sourceTree = ""; }; 388B228E21863CF000F24D45 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 388B229321863CF000F24D45 /* LegoSwiftCVTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LegoSwiftCVTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 388B229A21863CF000F24D45 /* LegoSwiftCVTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegoSwiftCVTests.swift; sourceTree = ""; }; - 388B229C21863CF000F24D45 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 389718681E36175E00CB02B4 /* LiveCameraVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveCameraVC.swift; sourceTree = ""; }; 3897186A1E36176B00CB02B4 /* FaceRecognitionVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FaceRecognitionVC.swift; sourceTree = ""; }; 3897186C1E3618B200CB02B4 /* FaceRecognizer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FaceRecognizer.swift; sourceTree = ""; }; @@ -666,9 +639,6 @@ 38B4D4B01E2AA01F008AAAB0 /* LegoCV.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LegoCV.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 38B4D4B31E2AA01F008AAAB0 /* LegoCV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LegoCV.h; sourceTree = ""; }; 38B4D4B41E2AA01F008AAAB0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 38B4D4B91E2AA01F008AAAB0 /* LegoCVTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LegoCVTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 38B4D4BE1E2AA01F008AAAB0 /* LegoCVTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegoCVTests.swift; sourceTree = ""; }; - 38B4D4C01E2AA01F008AAAB0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 38B4D4D01E2AA110008AAAB0 /* FaceDetection.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FaceDetection.app; sourceTree = BUILT_PRODUCTS_DIR; }; 38B4D4D21E2AA110008AAAB0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 38B4D4D71E2AA110008AAAB0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; @@ -770,6 +740,7 @@ 67E64F947B816F412C783679 /* OCVUMat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCVUMat.h; sourceTree = ""; }; 67E64FA8CD286E50EC4C0D24 /* OCVLDA.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCVLDA.h; sourceTree = ""; }; 67E64FDA4612629A3D339C5D /* OCVSize+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OCVSize+Private.h"; sourceTree = ""; }; + E2EF9019223F16B4009E8312 /* data */ = {isa = PBXFileReference; lastKnownFileType = folder; name = data; path = ../opencv/data; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -780,14 +751,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 388B229021863CF000F24D45 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 388B229421863CF000F24D45 /* LegoSwiftCV.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 38B4D4AC1E2AA01F008AAAB0 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -805,14 +768,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 38B4D4B61E2AA01F008AAAB0 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 38B4D4BA1E2AA01F008AAAB0 /* LegoCV.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 38B4D4CD1E2AA110008AAAB0 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -893,15 +848,6 @@ path = LegoSwiftCV; sourceTree = ""; }; - 388B229921863CF000F24D45 /* LegoSwiftCVTests */ = { - isa = PBXGroup; - children = ( - 388B229A21863CF000F24D45 /* LegoSwiftCVTests.swift */, - 388B229C21863CF000F24D45 /* Info.plist */, - ); - path = LegoSwiftCVTests; - sourceTree = ""; - }; 389718661E36172200CB02B4 /* Recognition */ = { isa = PBXGroup; children = ( @@ -953,13 +899,12 @@ 38B4D4A61E2AA01F008AAAB0 = { isa = PBXGroup; children = ( + E2EF9019223F16B4009E8312 /* data */, 388B228221863C9600F24D45 /* LegoSwiftCV */, 38B4D4B21E2AA01F008AAAB0 /* LegoCV */, - 38B4D4BD1E2AA01F008AAAB0 /* LegoCVTests */, 38B4D4D11E2AA110008AAAB0 /* FaceDetection */, 38DDD2482181022F007B999D /* Playgrounds */, 388B228C21863CF000F24D45 /* LegoSwiftCV */, - 388B229921863CF000F24D45 /* LegoSwiftCVTests */, 38B4D4B11E2AA01F008AAAB0 /* Products */, 38B4D4CA1E2AA090008AAAB0 /* Frameworks */, ); @@ -969,10 +914,8 @@ isa = PBXGroup; children = ( 38B4D4B01E2AA01F008AAAB0 /* LegoCV.framework */, - 38B4D4B91E2AA01F008AAAB0 /* LegoCVTests.xctest */, 38B4D4D01E2AA110008AAAB0 /* FaceDetection.app */, 388B228B21863CF000F24D45 /* LegoSwiftCV.framework */, - 388B229321863CF000F24D45 /* LegoSwiftCVTests.xctest */, ); name = Products; sourceTree = ""; @@ -987,15 +930,6 @@ path = LegoCV; sourceTree = ""; }; - 38B4D4BD1E2AA01F008AAAB0 /* LegoCVTests */ = { - isa = PBXGroup; - children = ( - 38B4D4BE1E2AA01F008AAAB0 /* LegoCVTests.swift */, - 38B4D4C01E2AA01F008AAAB0 /* Info.plist */, - ); - path = LegoCVTests; - sourceTree = ""; - }; 38B4D4CA1E2AA090008AAAB0 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -1846,25 +1780,6 @@ productReference = 388B228B21863CF000F24D45 /* LegoSwiftCV.framework */; productType = "com.apple.product-type.framework"; }; - 388B229221863CF000F24D45 /* LegoSwiftCVTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 388B22A521863CF000F24D45 /* Build configuration list for PBXNativeTarget "LegoSwiftCVTests" */; - buildPhases = ( - 388B228F21863CF000F24D45 /* Sources */, - 388B229021863CF000F24D45 /* Frameworks */, - 388B229121863CF000F24D45 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 388B229621863CF000F24D45 /* PBXTargetDependency */, - 388B229821863CF000F24D45 /* PBXTargetDependency */, - ); - name = LegoSwiftCVTests; - productName = LegoSwiftCVTests; - productReference = 388B229321863CF000F24D45 /* LegoSwiftCVTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; 38B4D4AF1E2AA01F008AAAB0 /* LegoCV */ = { isa = PBXNativeTarget; buildConfigurationList = 38B4D4C41E2AA020008AAAB0 /* Build configuration list for PBXNativeTarget "LegoCV" */; @@ -1883,24 +1798,6 @@ productReference = 38B4D4B01E2AA01F008AAAB0 /* LegoCV.framework */; productType = "com.apple.product-type.framework"; }; - 38B4D4B81E2AA01F008AAAB0 /* LegoCVTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 38B4D4C71E2AA020008AAAB0 /* Build configuration list for PBXNativeTarget "LegoCVTests" */; - buildPhases = ( - 38B4D4B51E2AA01F008AAAB0 /* Sources */, - 38B4D4B61E2AA01F008AAAB0 /* Frameworks */, - 38B4D4B71E2AA01F008AAAB0 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 38B4D4BC1E2AA01F008AAAB0 /* PBXTargetDependency */, - ); - name = LegoCVTests; - productName = LegoCVTests; - productReference = 38B4D4B91E2AA01F008AAAB0 /* LegoCVTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; 38B4D4CF1E2AA110008AAAB0 /* FaceDetection */ = { isa = PBXNativeTarget; buildConfigurationList = 38B4D4DF1E2AA111008AAAB0 /* Build configuration list for PBXNativeTarget "FaceDetection" */; @@ -1928,35 +1825,23 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1000; - LastUpgradeCheck = 1000; + LastUpgradeCheck = 1010; ORGANIZATIONNAME = "Unified Sense"; TargetAttributes = { 388B228A21863CF000F24D45 = { CreatedOnToolsVersion = 10.0; - DevelopmentTeam = 289M6XEDV4; + DevelopmentTeam = ""; ProvisioningStyle = Automatic; }; - 388B229221863CF000F24D45 = { - CreatedOnToolsVersion = 10.0; - DevelopmentTeam = 289M6XEDV4; - ProvisioningStyle = Automatic; - TestTargetID = 38B4D4CF1E2AA110008AAAB0; - }; 38B4D4AF1E2AA01F008AAAB0 = { CreatedOnToolsVersion = 8.2.1; - DevelopmentTeam = 289M6XEDV4; - LastSwiftMigration = 1000; - ProvisioningStyle = Automatic; - }; - 38B4D4B81E2AA01F008AAAB0 = { - CreatedOnToolsVersion = 8.2.1; - DevelopmentTeam = 289M6XEDV4; + DevelopmentTeam = ""; LastSwiftMigration = 1000; ProvisioningStyle = Automatic; }; 38B4D4CF1E2AA110008AAAB0 = { CreatedOnToolsVersion = 8.2.1; - DevelopmentTeam = 289M6XEDV4; + DevelopmentTeam = ""; ProvisioningStyle = Automatic; }; }; @@ -1976,8 +1861,6 @@ targets = ( 38B4D4AF1E2AA01F008AAAB0 /* LegoCV */, 388B228A21863CF000F24D45 /* LegoSwiftCV */, - 38B4D4B81E2AA01F008AAAB0 /* LegoCVTests */, - 388B229221863CF000F24D45 /* LegoSwiftCVTests */, 38B4D4CF1E2AA110008AAAB0 /* FaceDetection */, ); }; @@ -1991,13 +1874,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 388B229121863CF000F24D45 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; 38B4D4AE1E2AA01F008AAAB0 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -2005,19 +1881,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 38B4D4B71E2AA01F008AAAB0 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; 38B4D4CE1E2AA110008AAAB0 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 38B4D4DD1E2AA111008AAAB0 /* LaunchScreen.storyboard in Resources */, 38B4D4DA1E2AA111008AAAB0 /* Assets.xcassets in Resources */, + E2EF901A223F16B5009E8312 /* data in Resources */, 38B4D4D81E2AA110008AAAB0 /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -2033,14 +1903,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 388B228F21863CF000F24D45 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 388B229B21863CF000F24D45 /* LegoSwiftCVTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 38B4D4AB1E2AA01F008AAAB0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -2197,14 +2059,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 38B4D4B51E2AA01F008AAAB0 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 38B4D4BF1E2AA01F008AAAB0 /* LegoCVTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 38B4D4CC1E2AA110008AAAB0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -2225,26 +2079,11 @@ target = 38B4D4AF1E2AA01F008AAAB0 /* LegoCV */; targetProxy = 381F150D1E2AA22A0072F870 /* PBXContainerItemProxy */; }; - 388B229621863CF000F24D45 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 388B228A21863CF000F24D45 /* LegoSwiftCV */; - targetProxy = 388B229521863CF000F24D45 /* PBXContainerItemProxy */; - }; - 388B229821863CF000F24D45 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 38B4D4CF1E2AA110008AAAB0 /* FaceDetection */; - targetProxy = 388B229721863CF000F24D45 /* PBXContainerItemProxy */; - }; 388B229F21863CF000F24D45 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 388B228A21863CF000F24D45 /* LegoSwiftCV */; targetProxy = 388B229E21863CF000F24D45 /* PBXContainerItemProxy */; }; - 38B4D4BC1E2AA01F008AAAB0 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 38B4D4AF1E2AA01F008AAAB0 /* LegoCV */; - targetProxy = 38B4D4BB1E2AA01F008AAAB0 /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -2274,10 +2113,10 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 289M6XEDV4; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -2303,10 +2142,10 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 289M6XEDV4; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -2324,55 +2163,6 @@ }; name = Release; }; - 388B22A621863CF000F24D45 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 289M6XEDV4; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = LegoSwiftCVTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.unifiedsense.LegoSwiftCVTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FaceDetection.app/FaceDetection"; - }; - name = Debug; - }; - 388B22A721863CF000F24D45 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 289M6XEDV4; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = LegoSwiftCVTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.unifiedsense.LegoSwiftCVTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FaceDetection.app/FaceDetection"; - }; - name = Release; - }; 38B4D4C21E2AA020008AAAB0 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2494,7 +2284,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = ""; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 289M6XEDV4; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -2516,7 +2306,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = ""; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 289M6XEDV4; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -2531,45 +2321,19 @@ }; name = Release; }; - 38B4D4C81E2AA020008AAAB0 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - DEVELOPMENT_TEAM = 289M6XEDV4; - INFOPLIST_FILE = LegoCVTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.unifiedsense.LegoCVTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_SWIFT3_OBJC_INFERENCE = On; - SWIFT_VERSION = 4.2; - }; - name = Debug; - }; - 38B4D4C91E2AA020008AAAB0 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - DEVELOPMENT_TEAM = 289M6XEDV4; - INFOPLIST_FILE = LegoCVTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.unifiedsense.LegoCVTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_SWIFT3_OBJC_INFERENCE = On; - SWIFT_VERSION = 4.2; - }; - name = Release; - }; 38B4D4E01E2AA111008AAAB0 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; - DEVELOPMENT_TEAM = 289M6XEDV4; + DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ../ios; INFOPLIST_FILE = FaceDetection/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.unifiedsense.legocv.FaceDetection; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.2; }; name = Debug; }; @@ -2579,13 +2343,13 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; - DEVELOPMENT_TEAM = 289M6XEDV4; + DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ../ios; INFOPLIST_FILE = FaceDetection/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.unifiedsense.legocv.FaceDetection; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.2; }; name = Release; }; @@ -2601,15 +2365,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 388B22A521863CF000F24D45 /* Build configuration list for PBXNativeTarget "LegoSwiftCVTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 388B22A621863CF000F24D45 /* Debug */, - 388B22A721863CF000F24D45 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 38B4D4AA1E2AA01F008AAAB0 /* Build configuration list for PBXProject "LegoCV" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -2628,15 +2383,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 38B4D4C71E2AA020008AAAB0 /* Build configuration list for PBXNativeTarget "LegoCVTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 38B4D4C81E2AA020008AAAB0 /* Debug */, - 38B4D4C91E2AA020008AAAB0 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 38B4D4DF1E2AA111008AAAB0 /* Build configuration list for PBXNativeTarget "FaceDetection" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/LegoCV/LegoCV.xcodeproj/xcshareddata/xcschemes/FaceDetection.xcscheme b/LegoCV/LegoCV.xcodeproj/xcshareddata/xcschemes/FaceDetection.xcscheme new file mode 100644 index 0000000..ede8fde --- /dev/null +++ b/LegoCV/LegoCV.xcodeproj/xcshareddata/xcschemes/FaceDetection.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/LegoCV/LegoCV.xcodeproj/xcshareddata/xcschemes/LegoCV.xcscheme b/LegoCV/LegoCV.xcodeproj/xcshareddata/xcschemes/LegoCV.xcscheme index 5941d77..3b5e3e3 100644 --- a/LegoCV/LegoCV.xcodeproj/xcshareddata/xcschemes/LegoCV.xcscheme +++ b/LegoCV/LegoCV.xcodeproj/xcshareddata/xcschemes/LegoCV.xcscheme @@ -1,6 +1,6 @@ - - - - load(path.UTF8String); } -- (NSArray*)detectMultiscaleWith:(id)image { - return [self detectMultiscaleWith:image scaleFactor:1.1]; +/* + - (NSArray*)detectMultiScaleOnImage:(id)image scaleFactor:(double)scaleFactor; + - (NSArray*)detectMultiScaleOnImage:(id)image scaleFactor:(double)scaleFactor minNeighbours:(NSInteger)minNeighbours; + - (NSArray*)detectMultiScaleOnImage:(id)image scaleFactor:(double)scaleFactor minNeighbours:(NSInteger)minNeighbours flags:(NSInteger)flags; + - (NSArray*)detectMultiScaleOnImage:(id)image scaleFactor:(double)scaleFactor minNeighbours:(NSInteger)minNeighbours flags:(NSInteger)flags minSize:(OCVSize)minSize; + - (NSArray*)detectMultiScaleOnImage:(id)image scaleFactor:(double)scaleFactor minNeighbours:(NSInteger)minNeighbours flags:(NSInteger)flags minSize:(OCVSize)minSize maxSize:(OCVSize)maxSize; + + */ + +- (NSArray*)detectMultiScaleOnImage:(id)image { + return [self detectMultiScaleOnImage:image scaleFactor:1.1]; } -- (NSArray*)detectMultiscaleWith:(id)image scaleFactor:(double)scaleFactor { - return [self detectMultiscaleWith:image scaleFactor:scaleFactor minNeighbours:3]; +- (NSArray*)detectMultiScaleOnImage:(id)image scaleFactor:(double)scaleFactor { + return [self detectMultiScaleOnImage:image scaleFactor:scaleFactor minNeighbours:3]; } -- (NSArray*)detectMultiscaleWith:(id)image scaleFactor:(double)scaleFactor minNeighbours:(NSInteger)minNeighbours { - return [self detectMultiscaleWith:image scaleFactor:scaleFactor minNeighbours:minNeighbours flags:0]; +- (NSArray*)detectMultiScaleOnImage:(id)image scaleFactor:(double)scaleFactor minNeighbours:(NSInteger)minNeighbours { + return [self detectMultiScaleOnImage:image scaleFactor:scaleFactor minNeighbours:minNeighbours flags:0]; } -- (NSArray*)detectMultiscaleWith:(id)image scaleFactor:(double)scaleFactor minNeighbours:(NSInteger)minNeighbours flags:(NSInteger)flags { - return [self detectMultiscaleWith:image scaleFactor:scaleFactor minNeighbours:minNeighbours flags:flags minSize:OCVSize()]; +- (NSArray*)detectMultiScaleOnImage:(id)image scaleFactor:(double)scaleFactor minNeighbours:(NSInteger)minNeighbours flags:(NSInteger)flags { + return [self detectMultiScaleOnImage:image scaleFactor:scaleFactor minNeighbours:minNeighbours flags:flags minSize:OCVSize()]; } -- (NSArray*)detectMultiscaleWith:(id)image scaleFactor:(double)scaleFactor minNeighbours:(NSInteger)minNeighbours flags:(NSInteger)flags minSize:(OCVSize)minSize { - return [self detectMultiscaleWith:image scaleFactor:scaleFactor minNeighbours:minNeighbours flags:flags minSize:minSize maxSize:OCVSize()]; +- (NSArray*)detectMultiScaleOnImage:(id)image scaleFactor:(double)scaleFactor minNeighbours:(NSInteger)minNeighbours flags:(NSInteger)flags minSize:(OCVSize)minSize { + return [self detectMultiScaleOnImage:image scaleFactor:scaleFactor minNeighbours:minNeighbours flags:flags minSize:minSize maxSize:OCVSize()]; } -- (NSArray*)detectMultiscaleWith:(id)image scaleFactor:(double)scaleFactor minNeighbours:(NSInteger)minNeighbours flags:(NSInteger)flags minSize:(OCVSize)minSize maxSize:(OCVSize)maxSize { +- (NSArray*)detectMultiScaleOnImage:(id)image scaleFactor:(double)scaleFactor minNeighbours:(NSInteger)minNeighbours flags:(NSInteger)flags minSize:(OCVSize)minSize maxSize:(OCVSize)maxSize { std::vector faceRects; diff --git a/LegoCV/LegoCVTests/Info.plist b/LegoCV/LegoCVTests/Info.plist deleted file mode 100644 index 6c6c23c..0000000 --- a/LegoCV/LegoCVTests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/LegoCV/LegoCVTests/LegoCVTests.swift b/LegoCV/LegoCVTests/LegoCVTests.swift deleted file mode 100644 index 0bca488..0000000 --- a/LegoCV/LegoCVTests/LegoCVTests.swift +++ /dev/null @@ -1,36 +0,0 @@ -// -// LegoCVTests.swift -// LegoCVTests -// -// Created by Dal Rupnik on 14/01/2017. -// Copyright © 2017 Unified Sense. All rights reserved. -// - -import XCTest -@testable import LegoCV - -class LegoCVTests: XCTestCase { - - override func setUp() { - super.setUp() - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDown() { - // Put teardown code here. This method is called after the invocation of each test method in the class. - super.tearDown() - } - - func testExample() { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. - } - - func testPerformanceExample() { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } - -} diff --git a/LegoCV/LegoSwiftCVTests/Info.plist b/LegoCV/LegoSwiftCVTests/Info.plist deleted file mode 100644 index 6c40a6c..0000000 --- a/LegoCV/LegoSwiftCVTests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/LegoCV/LegoSwiftCVTests/LegoSwiftCVTests.swift b/LegoCV/LegoSwiftCVTests/LegoSwiftCVTests.swift deleted file mode 100644 index e58ac4c..0000000 --- a/LegoCV/LegoSwiftCVTests/LegoSwiftCVTests.swift +++ /dev/null @@ -1,34 +0,0 @@ -// -// LegoSwiftCVTests.swift -// LegoSwiftCVTests -// -// Created by Dal Rupnik on 10/28/18. -// Copyright © 2018 Unified Sense. All rights reserved. -// - -import XCTest -@testable import LegoSwiftCV - -class LegoSwiftCVTests: XCTestCase { - - override func setUp() { - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDown() { - // Put teardown code here. This method is called after the invocation of each test method in the class. - } - - func testExample() { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. - } - - func testPerformanceExample() { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } - -} diff --git a/opencv b/opencv index 5339ef3..c9ad577 160000 --- a/opencv +++ b/opencv @@ -1 +1 @@ -Subproject commit 5339ef3004e5005f5ff3dadb96b2dc3642bcbd3e +Subproject commit c9ad5779f2803dcc91a9938142209128d30b22d1 From d4066c0639e4211a4c44b41112bd1ecab78e274c Mon Sep 17 00:00:00 2001 From: Madhava Jay Date: Mon, 18 Mar 2019 19:56:17 +1100 Subject: [PATCH 2/4] Fixed dependency issue with LegoCV and LegoCVSwift - Removed some empty DevelopmentTeam / DEVELOPMENT_TEAM settings --- LegoCV/LegoCV.xcodeproj/project.pbxproj | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/LegoCV/LegoCV.xcodeproj/project.pbxproj b/LegoCV/LegoCV.xcodeproj/project.pbxproj index ab2a733..f22ed50 100644 --- a/LegoCV/LegoCV.xcodeproj/project.pbxproj +++ b/LegoCV/LegoCV.xcodeproj/project.pbxproj @@ -354,6 +354,7 @@ 67E64EDCC12B0E85158EED46 /* OCVInterpolationType.h in Headers */ = {isa = PBXBuildFile; fileRef = 67E645697CBF982455006B11 /* OCVInterpolationType.h */; settings = {ATTRIBUTES = (Public, ); }; }; 67E64F5B14D37BB167F88E90 /* OCVGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = 67E648280FA290221C92DE01 /* OCVGeometry.h */; settings = {ATTRIBUTES = (Public, ); }; }; 67E64F822344F94C3B4967C8 /* OCVInputOutputArray+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 67E6438D1CE78C8D148D0DE8 /* OCVInputOutputArray+Private.h */; }; + E2D9E70B223F92E4002D52ED /* LegoCV.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 38B4D4B01E2AA01F008AAAB0 /* LegoCV.framework */; }; E2EF901A223F16B5009E8312 /* data in Resources */ = {isa = PBXBuildFile; fileRef = E2EF9019223F16B4009E8312 /* data */; }; /* End PBXBuildFile section */ @@ -748,6 +749,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E2D9E70B223F92E4002D52ED /* LegoCV.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1830,18 +1832,15 @@ TargetAttributes = { 388B228A21863CF000F24D45 = { CreatedOnToolsVersion = 10.0; - DevelopmentTeam = ""; ProvisioningStyle = Automatic; }; 38B4D4AF1E2AA01F008AAAB0 = { CreatedOnToolsVersion = 8.2.1; - DevelopmentTeam = ""; LastSwiftMigration = 1000; ProvisioningStyle = Automatic; }; 38B4D4CF1E2AA110008AAAB0 = { CreatedOnToolsVersion = 8.2.1; - DevelopmentTeam = ""; ProvisioningStyle = Automatic; }; }; @@ -2116,7 +2115,6 @@ CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -2145,7 +2143,6 @@ CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -2284,7 +2281,6 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = ""; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -2306,7 +2302,6 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = ""; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -2327,7 +2322,6 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; - DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ../ios; INFOPLIST_FILE = FaceDetection/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -2343,7 +2337,6 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; - DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ../ios; INFOPLIST_FILE = FaceDetection/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; From dd43f8ab057fd2699f1549892ff0c8974f1065a4 Mon Sep 17 00:00:00 2001 From: Madhava Jay Date: Mon, 18 Mar 2019 19:57:40 +1100 Subject: [PATCH 3/4] Added Compile OpenCV step to LegoCV --- LegoCV/LegoCV.xcodeproj/project.pbxproj | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/LegoCV/LegoCV.xcodeproj/project.pbxproj b/LegoCV/LegoCV.xcodeproj/project.pbxproj index f22ed50..0b9ab43 100644 --- a/LegoCV/LegoCV.xcodeproj/project.pbxproj +++ b/LegoCV/LegoCV.xcodeproj/project.pbxproj @@ -1786,6 +1786,7 @@ isa = PBXNativeTarget; buildConfigurationList = 38B4D4C41E2AA020008AAAB0 /* Build configuration list for PBXNativeTarget "LegoCV" */; buildPhases = ( + E2D9E70A223F8E44002D52ED /* Compile OpenCV */, 38B4D4AB1E2AA01F008AAAB0 /* Sources */, 38B4D4AC1E2AA01F008AAAB0 /* Frameworks */, 38B4D4AD1E2AA01F008AAAB0 /* Headers */, @@ -1893,6 +1894,27 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + E2D9E70A223F8E44002D52ED /* Compile OpenCV */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Compile OpenCV"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo ${PROJECT_DIR}\nopencv_framework_dir=\"${PROJECT_DIR}/../ios/opencv2.framework\"\nif [ ! -d \"$opencv_framework_dir\" ]\nthen\n echo \"OpenCV framework not found at: ${opencv_framework_dir}\"\n echo \"Compiling OpenCV\"\n /usr/bin/python ../opencv/platforms/ios/build_framework.py ../ios --dynamic\nelse\n echo \"OpenCV framework found\"\nfi\n"; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 388B228721863CF000F24D45 /* Sources */ = { isa = PBXSourcesBuildPhase; From 34a5e2272327dbf746ad14a59974509db30c3290 Mon Sep 17 00:00:00 2001 From: Madhava Jay Date: Fri, 5 Apr 2019 21:09:27 +1100 Subject: [PATCH 4/4] Updated to Swift 5 and Xcode 10.2 --- LegoCV/LegoCV.xcodeproj/project.pbxproj | 22 +++++++++++++------ .../xcschemes/FaceDetection.xcscheme | 2 +- .../xcshareddata/xcschemes/LegoCV.xcscheme | 2 +- .../xcschemes/LegoSwiftCV.xcscheme | 2 +- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/LegoCV/LegoCV.xcodeproj/project.pbxproj b/LegoCV/LegoCV.xcodeproj/project.pbxproj index 0b9ab43..6505f34 100644 --- a/LegoCV/LegoCV.xcodeproj/project.pbxproj +++ b/LegoCV/LegoCV.xcodeproj/project.pbxproj @@ -1828,7 +1828,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1000; - LastUpgradeCheck = 1010; + LastUpgradeCheck = 1020; ORGANIZATIONNAME = "Unified Sense"; TargetAttributes = { 388B228A21863CF000F24D45 = { @@ -1842,6 +1842,7 @@ }; 38B4D4CF1E2AA110008AAAB0 = { CreatedOnToolsVersion = 8.2.1; + DevelopmentTeam = QMLQF78Y67; ProvisioningStyle = Automatic; }; }; @@ -1851,6 +1852,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -2150,7 +2152,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.unifiedsense.LegoSwiftCV; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -2177,7 +2179,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.unifiedsense.LegoSwiftCV; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; @@ -2186,6 +2188,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -2237,6 +2240,7 @@ SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -2247,6 +2251,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -2290,6 +2295,7 @@ MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -2314,7 +2320,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -2334,7 +2340,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.unifiedsense.LegoCV; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; }; name = Release; }; @@ -2344,12 +2350,13 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; + DEVELOPMENT_TEAM = QMLQF78Y67; FRAMEWORK_SEARCH_PATHS = ../ios; INFOPLIST_FILE = FaceDetection/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.unifiedsense.legocv.FaceDetection; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -2359,12 +2366,13 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; + DEVELOPMENT_TEAM = QMLQF78Y67; FRAMEWORK_SEARCH_PATHS = ../ios; INFOPLIST_FILE = FaceDetection/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.unifiedsense.legocv.FaceDetection; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; }; name = Release; }; diff --git a/LegoCV/LegoCV.xcodeproj/xcshareddata/xcschemes/FaceDetection.xcscheme b/LegoCV/LegoCV.xcodeproj/xcshareddata/xcschemes/FaceDetection.xcscheme index ede8fde..3a6975e 100644 --- a/LegoCV/LegoCV.xcodeproj/xcshareddata/xcschemes/FaceDetection.xcscheme +++ b/LegoCV/LegoCV.xcodeproj/xcshareddata/xcschemes/FaceDetection.xcscheme @@ -1,6 +1,6 @@