diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..2dd5ace7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +FULiveDemo/Faceunity/FaceUnity-SDK-iOS/libnama.a filter=lfs diff=lfs merge=lfs -text diff --git a/FULiveDemo.xcodeproj/project.pbxproj b/FULiveDemo.xcodeproj/project.pbxproj index 6d7edafb..2bbc57cb 100644 --- a/FULiveDemo.xcodeproj/project.pbxproj +++ b/FULiveDemo.xcodeproj/project.pbxproj @@ -1059,13 +1059,12 @@ isa = PBXNativeTarget; buildConfigurationList = 0B5A0CE12021913900AAD47D /* Build configuration list for PBXNativeTarget "FULiveDemo" */; buildPhases = ( - CD0B4B85211613BB0019F9FA /* unzip */, FA957C64E2549EB6F75CB07D /* [CP] Check Pods Manifest.lock */, + CD0B4B85211613BB0019F9FA /* unzip */, 0B5A0CB12021913900AAD47D /* Sources */, 0B5A0CB22021913900AAD47D /* Frameworks */, 0B5A0CB32021913900AAD47D /* Resources */, 0B5A0D7F202191AF00AAD47D /* Embed Frameworks */, - 4F91CA75F85AF44CEEC4E935 /* [CP] Embed Pods Frameworks */, 4508CC438BF9C69090871A75 /* [CP] Copy Pods Resources */, 0B30FE7B207F8879008E0543 /* CopyFiles */, CD11A34D20CE7C580005C58C /* ShellScript */, @@ -1383,45 +1382,26 @@ ); name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SVProgressHUD.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 4F91CA75F85AF44CEEC4E935 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; CD0B4B85211613BB0019F9FA /* unzip */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( ); name = unzip; - outputFileListPaths = ( - ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "# Type a script or drag a script file from your workspace to insert its path.\n#!/bin/sh\ncd FULiveDemo/Faceunity/FaceUnity-SDK-iOS\nfilename=libnama.a\nzipname=libnama.zip \n\n#如果libnama.a不存在,且libnama.zip存在,则直接解压\nif ! [ -f \"$filename\" ] && [ -f \"$zipname\" ]\nthen\nunzip $zipname\nmdcode=$(md5 $filename)\n\nif [ ${mdcode##*=}x = \"4d0b3937ad060c15af8adb5acffe526f\"x ]; then\necho \"ssss\"\nrm -f $zipname\nelse\necho \"fffff\"\nrm -f $filename\nfi\nfi\n"; + shellScript = "# Type a script or drag a script file from your workspace to insert its path.\n#!/bin/sh\ncd FULiveDemo/Faceunity/FaceUnity-SDK-iOS\nfilename=libnama.a\nzipname=libnama.zip \n\n#如果libnama.zip存在,则直接解压\nif [ -f \"$zipname\" ]\nthen\nrm -f $filename\nunzip $zipname\nmdcode=$(md5 $filename)\n\nif [ ${mdcode##*=}x = \"ef0a04dd568f485f6abb0c58ba74e08e\"x ]; then\necho \"ssss\"\nrm -f $zipname\nelse\necho \"fffff\"\nrm -f $filename\nfi\nfi\n"; }; CD11A34D20CE7C580005C58C /* ShellScript */ = { isa = PBXShellScriptBuildPhase; diff --git a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/Headers/FURenderer.h b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/Headers/FURenderer.h index d528a9ad..81465f95 100755 --- a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/Headers/FURenderer.h +++ b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/Headers/FURenderer.h @@ -483,4 +483,6 @@ typedef enum { + (int)loadAnimModelWithModelPath:(NSString *)modelPath; + (void)setDefaultRotationMode:(float)mode; + ++ (void)setAsyncTrackFaceEnable:(int)enable; @end diff --git a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/Resources/face_beautification.bundle b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/Resources/face_beautification.bundle index f1a1ed07..4d805a9d 100755 Binary files a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/Resources/face_beautification.bundle and b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/Resources/face_beautification.bundle differ diff --git a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/Resources/fxaa.bundle b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/Resources/fxaa.bundle index 03bb0d69..eb609453 100755 Binary files a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/Resources/fxaa.bundle and b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/Resources/fxaa.bundle differ diff --git a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/libnama.a b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/libnama.a index 7af7b322..65c3546f 100755 Binary files a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/libnama.a and b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/libnama.a differ diff --git a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/Headers/FURenderer.h b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/Headers/FURenderer.h index d528a9ad..81465f95 100755 --- a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/Headers/FURenderer.h +++ b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/Headers/FURenderer.h @@ -483,4 +483,6 @@ typedef enum { + (int)loadAnimModelWithModelPath:(NSString *)modelPath; + (void)setDefaultRotationMode:(float)mode; + ++ (void)setAsyncTrackFaceEnable:(int)enable; @end diff --git a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/Resources/face_beautification.bundle b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/Resources/face_beautification.bundle index 7ad61873..0413a1fc 100755 Binary files a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/Resources/face_beautification.bundle and b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/Resources/face_beautification.bundle differ diff --git a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/Resources/fxaa.bundle b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/Resources/fxaa.bundle index ab8b509f..c1aad206 100755 Binary files a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/Resources/fxaa.bundle and b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/Resources/fxaa.bundle differ diff --git a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/libnama.a b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/libnama.a new file mode 100755 index 00000000..ad6c090d --- /dev/null +++ b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/libnama.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:225da1c623234726e6df1f8c91fcb313f526c82ade3221ac5710971df20c9083 +size 108553640 diff --git a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/libnama.zip b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/libnama.zip index bdfe75a6..f9dc7710 100644 Binary files a/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/libnama.zip and b/FULiveDemo/Faceunity/FaceUnity-SDK-iOS/libnama.zip differ diff --git a/Nama-lite.podspec b/Nama-lite.podspec new file mode 100755 index 00000000..805a7185 --- /dev/null +++ b/Nama-lite.podspec @@ -0,0 +1,16 @@ +Pod::Spec.new do |s| + s.name = 'Nama-lite' + s.version = '5.4.0' + s.license = 'MIT' + s.summary = 'faceunity nama v5.4.0-dev-lite' + s.homepage = 'https://www.faceunity.com' + s.author = { 'faceunity' => 'dev@faceunity.com' } + s.platform = :ios, "8.0" + s.source = { :git => 'https://github.com/Faceunity/FULiveDemo.git', :tag => 'v5.4.0-dev' } + s.source_files = 'FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/**/*.{h,m}' + s.resources = 'FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/**/*.{bundle}' + s.ios.vendored_library = 'FULiveDemo/Faceunity/FaceUnity-SDK-iOS-lite/libnama.a' + s.requires_arc = true + s.ios.frameworks = ['OpenGLES', 'Accelerate', 'CoreMedia', 'AVFoundation'] + s.libraries = ["stdc++"] + end \ No newline at end of file diff --git a/Nama.podspec b/Nama.podspec new file mode 100755 index 00000000..340484ef --- /dev/null +++ b/Nama.podspec @@ -0,0 +1,16 @@ +Pod::Spec.new do |s| + s.name = 'Nama' + s.version = '5.4.0' + s.license = 'MIT' + s.summary = 'faceunity nama v5.4.0-dev' + s.homepage = 'https://github.com/Faceunity/FULiveDemo/tree/dev' + s.author = { 'faceunity' => 'dev@faceunity.com' } + s.platform = :ios, "8.0" + s.source = { :git => 'https://github.com/Faceunity/FULiveDemo.git', :tag => 'v5.4.0-dev' } + s.source_files = 'FULiveDemo/Faceunity/FaceUnity-SDK-iOS/**/*.{h,m}' + s.resources = 'FULiveDemo/Faceunity/FaceUnity-SDK-iOS/**/*.{bundle}' + s.ios.vendored_library = 'FULiveDemo/Faceunity/FaceUnity-SDK-iOS/libnama.a' + s.requires_arc = true + s.ios.frameworks = ['OpenGLES', 'Accelerate', 'CoreMedia', 'AVFoundation'] + s.libraries = ["stdc++"] + end \ No newline at end of file diff --git a/Podfile.lock b/Podfile.lock index bbd8028d..4d37f50a 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -4,9 +4,13 @@ PODS: DEPENDENCIES: - SVProgressHUD +SPEC REPOS: + https://github.com/cocoapods/specs.git: + - SVProgressHUD + SPEC CHECKSUMS: SVProgressHUD: 59b2d3dabacbd051576d21d32293ca7228dc18b0 PODFILE CHECKSUM: 0a18f1b47af1333520361de7e26b6bc58630b883 -COCOAPODS: 1.3.1 +COCOAPODS: 1.5.3 diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index bbd8028d..4d37f50a 100644 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -4,9 +4,13 @@ PODS: DEPENDENCIES: - SVProgressHUD +SPEC REPOS: + https://github.com/cocoapods/specs.git: + - SVProgressHUD + SPEC CHECKSUMS: SVProgressHUD: 59b2d3dabacbd051576d21d32293ca7228dc18b0 PODFILE CHECKSUM: 0a18f1b47af1333520361de7e26b6bc58630b883 -COCOAPODS: 1.3.1 +COCOAPODS: 1.5.3 diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index 44a323a3..5ca18b7b 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -7,39 +7,37 @@ objects = { /* Begin PBXBuildFile section */ - 057EA43AAC2E14F3DBE3E3496F533068 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 54F9A0E952988935C32EDDB1429D7133 /* Foundation.framework */; }; - 068B51D77CA9BEABDC963711896877A8 /* SVRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A374AB1310EA4B32513CEB3F350671 /* SVRadialGradientLayer.m */; }; - 0EC1C44F97F98A6041161CF3FA2AC983 /* SVProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = DBAD9287DEE246626CE463AB766658E4 /* SVProgressHUD.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 65C7181B17AF640E0361AACC9841951B /* Pods-FULiveDemo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D2C541F588C701336AD49F7A9C7D438 /* Pods-FULiveDemo-dummy.m */; }; - 9361C9A79FE53A910FC243ABF11F38AA /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC2770B482BFE91273C8560623F1422C /* QuartzCore.framework */; }; - AB183B1405FDCE1E571B19E10BF61B78 /* SVIndefiniteAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 64C68F19C7FDB89739A12A754AC192B9 /* SVIndefiniteAnimatedView.m */; }; - AB425318A275EB0BF6AD1898DB8B9C06 /* SVRadialGradientLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 68F7D46BED1E968333C3A6BF1D08EF35 /* SVRadialGradientLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B13707653CF8763F9A5ADB70D6176307 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 54F9A0E952988935C32EDDB1429D7133 /* Foundation.framework */; }; - C8A00DD61121E07C3105556713FA509F /* SVIndefiniteAnimatedView.h in Headers */ = {isa = PBXBuildFile; fileRef = DD6F6957AD861C2D16D4AAF6524973A8 /* SVIndefiniteAnimatedView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F0FE425A82DFB24FA6D143EAE98ACF20 /* SVProgressAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C80D8A3D824F9A8BECF1041F91261A4 /* SVProgressAnimatedView.m */; }; - F6B5878153753AD2046983F5B623A562 /* SVProgressAnimatedView.h in Headers */ = {isa = PBXBuildFile; fileRef = C447657581C0A5726D1B490667A418D4 /* SVProgressAnimatedView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F9967409358582E984214835E49DE465 /* SVProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D3444AE0273523AC57BAC6A7EBE004B0 /* SVProgressHUD.m */; }; - FAE84A5E0E4EF406DE8BDD5BB43270BC /* SVProgressHUD-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A6073EEDABEA90F4218E48202444AB6 /* SVProgressHUD-dummy.m */; }; + 002D9757E6E81CA5BC3E03E1B305BEB0 /* SVIndefiniteAnimatedView.h in Headers */ = {isa = PBXBuildFile; fileRef = DD6F6957AD861C2D16D4AAF6524973A8 /* SVIndefiniteAnimatedView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 208EB9C98B340FF02E1DCF928EBBF273 /* SVProgressHUD-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A6073EEDABEA90F4218E48202444AB6 /* SVProgressHUD-dummy.m */; }; + 473E2976F9E6A39EE5A2AF0B99CCAEC4 /* SVProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = DBAD9287DEE246626CE463AB766658E4 /* SVProgressHUD.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4D3E9BDC8D1C5505B7C0FB8641FA1071 /* SVIndefiniteAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 64C68F19C7FDB89739A12A754AC192B9 /* SVIndefiniteAnimatedView.m */; }; + 5D3FF961E2A8C66EB1CA5286C5701468 /* SVProgressAnimatedView.h in Headers */ = {isa = PBXBuildFile; fileRef = C447657581C0A5726D1B490667A418D4 /* SVProgressAnimatedView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7945A104CC4ED357C684E47899CE0B5D /* Pods-FULiveDemo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D2C541F588C701336AD49F7A9C7D438 /* Pods-FULiveDemo-dummy.m */; }; + A00981888731E2E7B474E8C443F8F2A5 /* SVProgressAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C80D8A3D824F9A8BECF1041F91261A4 /* SVProgressAnimatedView.m */; }; + A3E4FFF7884AE7D89899B2E38F193D25 /* SVRadialGradientLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 68F7D46BED1E968333C3A6BF1D08EF35 /* SVRadialGradientLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A4A895A4324207EDA140DE9C11EB334B /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0804D7D53D0917DB092DCD84E9B64127 /* QuartzCore.framework */; }; + AA4F61FC7C9B7734FFE411D4A53076F3 /* SVProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D3444AE0273523AC57BAC6A7EBE004B0 /* SVProgressHUD.m */; }; + FCA7241CF01B9028A9715BBAEE49CE60 /* SVRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A374AB1310EA4B32513CEB3F350671 /* SVRadialGradientLayer.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 25F8CB513C47D4CAAADCE9BBBF6E61AA /* PBXContainerItemProxy */ = { + 109AA188DF0F17FA0895355041449522 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 7CE1D71EBCFE98C7BCE959B812C7F428; + remoteGlobalIDString = EE3488423F5499486D1CEBEAD0581661; remoteInfo = SVProgressHUD; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 02A63FDADF1B3E8720467C0D4305AF56 /* Pods-FULiveDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FULiveDemo.debug.xcconfig"; sourceTree = ""; }; + 0804D7D53D0917DB092DCD84E9B64127 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; 0D2C541F588C701336AD49F7A9C7D438 /* Pods-FULiveDemo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-FULiveDemo-dummy.m"; sourceTree = ""; }; 19B48E6FBB739076C83C17FCDBA1756F /* Pods-FULiveDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FULiveDemo.release.xcconfig"; sourceTree = ""; }; 22AE73F26C646D9AFA5866B361CA116A /* Pods-FULiveDemo-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-FULiveDemo-frameworks.sh"; sourceTree = ""; }; 2D619B9ACB8981FDEB8B6C16926AD452 /* SVProgressHUD.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = SVProgressHUD.bundle; path = SVProgressHUD/SVProgressHUD.bundle; sourceTree = ""; }; 51AE1A8C94322EB900ECFC0103627419 /* Pods-FULiveDemo-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FULiveDemo-acknowledgements.plist"; sourceTree = ""; }; - 54F9A0E952988935C32EDDB1429D7133 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 64C68F19C7FDB89739A12A754AC192B9 /* SVIndefiniteAnimatedView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVIndefiniteAnimatedView.m; path = SVProgressHUD/SVIndefiniteAnimatedView.m; sourceTree = ""; }; 68F7D46BED1E968333C3A6BF1D08EF35 /* SVRadialGradientLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVRadialGradientLayer.h; path = SVProgressHUD/SVRadialGradientLayer.h; sourceTree = ""; }; 6A6073EEDABEA90F4218E48202444AB6 /* SVProgressHUD-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SVProgressHUD-dummy.m"; sourceTree = ""; }; @@ -56,24 +54,21 @@ DBAD9287DEE246626CE463AB766658E4 /* SVProgressHUD.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVProgressHUD.h; path = SVProgressHUD/SVProgressHUD.h; sourceTree = ""; }; DD6F6957AD861C2D16D4AAF6524973A8 /* SVIndefiniteAnimatedView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVIndefiniteAnimatedView.h; path = SVProgressHUD/SVIndefiniteAnimatedView.h; sourceTree = ""; }; E6A374AB1310EA4B32513CEB3F350671 /* SVRadialGradientLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVRadialGradientLayer.m; path = SVProgressHUD/SVRadialGradientLayer.m; sourceTree = ""; }; - FC2770B482BFE91273C8560623F1422C /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 4D9EE1723F660059E135F0EAA6A7C9CC /* Frameworks */ = { + 5B3A54F1D0D31DE9061488EFD2914565 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 057EA43AAC2E14F3DBE3E3496F533068 /* Foundation.framework in Frameworks */, - 9361C9A79FE53A910FC243ABF11F38AA /* QuartzCore.framework in Frameworks */, + A4A895A4324207EDA140DE9C11EB334B /* QuartzCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D8FF8780A8EF2F24FEF6F72FCB019E7A /* Frameworks */ = { + E2B3DE85B43A4AE589547800FD3179E8 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B13707653CF8763F9A5ADB70D6176307 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -97,14 +92,6 @@ name = Products; sourceTree = ""; }; - 433CD3331B6C3787F473C941B61FC68F /* Frameworks */ = { - isa = PBXGroup; - children = ( - 978007DCB56F415BE390E0F949D4D4E5 /* iOS */, - ); - name = Frameworks; - sourceTree = ""; - }; 70D9BE5EEB5C2862D984CA156C9615F8 /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -125,7 +112,7 @@ isa = PBXGroup; children = ( 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 433CD3331B6C3787F473C941B61FC68F /* Frameworks */, + BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */, 74588D48F629C3D7E6B7E12AB83072D6 /* Pods */, 141C169595951E0A8841DF55AC045311 /* Products */, 70D9BE5EEB5C2862D984CA156C9615F8 /* Targets Support Files */, @@ -150,15 +137,22 @@ path = SVProgressHUD; sourceTree = ""; }; - 978007DCB56F415BE390E0F949D4D4E5 /* iOS */ = { + BBE05471F65FD1BA0C96B41D6314702B /* iOS */ = { isa = PBXGroup; children = ( - 54F9A0E952988935C32EDDB1429D7133 /* Foundation.framework */, - FC2770B482BFE91273C8560623F1422C /* QuartzCore.framework */, + 0804D7D53D0917DB092DCD84E9B64127 /* QuartzCore.framework */, ); name = iOS; sourceTree = ""; }; + BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { + isa = PBXGroup; + children = ( + BBE05471F65FD1BA0C96B41D6314702B /* iOS */, + ); + name = Frameworks; + sourceTree = ""; + }; BDE1D145F4A334224EB232EECAD63B61 /* Support Files */ = { isa = PBXGroup; children = ( @@ -188,52 +182,52 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 2E829FD29E654B5257704EF1A9A5EBF2 /* Headers */ = { + E5BE92644842106158FB8B4A82FAFB24 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - C8A00DD61121E07C3105556713FA509F /* SVIndefiniteAnimatedView.h in Headers */, - F6B5878153753AD2046983F5B623A562 /* SVProgressAnimatedView.h in Headers */, - 0EC1C44F97F98A6041161CF3FA2AC983 /* SVProgressHUD.h in Headers */, - AB425318A275EB0BF6AD1898DB8B9C06 /* SVRadialGradientLayer.h in Headers */, + 002D9757E6E81CA5BC3E03E1B305BEB0 /* SVIndefiniteAnimatedView.h in Headers */, + 5D3FF961E2A8C66EB1CA5286C5701468 /* SVProgressAnimatedView.h in Headers */, + 473E2976F9E6A39EE5A2AF0B99CCAEC4 /* SVProgressHUD.h in Headers */, + A3E4FFF7884AE7D89899B2E38F193D25 /* SVRadialGradientLayer.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 7CE1D71EBCFE98C7BCE959B812C7F428 /* SVProgressHUD */ = { + 613F2DBDB116D70961BC7EAC514C3AA4 /* Pods-FULiveDemo */ = { isa = PBXNativeTarget; - buildConfigurationList = 8EAC3F393C1FD18BB6ADFE5889DF7891 /* Build configuration list for PBXNativeTarget "SVProgressHUD" */; + buildConfigurationList = B3B1CB9A750EFE5599AEE61923DCA883 /* Build configuration list for PBXNativeTarget "Pods-FULiveDemo" */; buildPhases = ( - 62785EBEA9BB07CFF6E6CCE92C3B9382 /* Sources */, - 4D9EE1723F660059E135F0EAA6A7C9CC /* Frameworks */, - 2E829FD29E654B5257704EF1A9A5EBF2 /* Headers */, + 046B64C97439689D827B3C8CB3206C54 /* Sources */, + E2B3DE85B43A4AE589547800FD3179E8 /* Frameworks */, ); buildRules = ( ); dependencies = ( + CD235F18EA60F457128694756DEF704A /* PBXTargetDependency */, ); - name = SVProgressHUD; - productName = SVProgressHUD; - productReference = 8DE7802A73E6C2A61444908CF9E8F9E9 /* libSVProgressHUD.a */; + name = "Pods-FULiveDemo"; + productName = "Pods-FULiveDemo"; + productReference = D573A31DD32A4C364367C6B8DA8C13DC /* libPods-FULiveDemo.a */; productType = "com.apple.product-type.library.static"; }; - F49FFF951DD998618F76F2809BE49EDE /* Pods-FULiveDemo */ = { + EE3488423F5499486D1CEBEAD0581661 /* SVProgressHUD */ = { isa = PBXNativeTarget; - buildConfigurationList = 93CC7F01040211F191036C89E512C44E /* Build configuration list for PBXNativeTarget "Pods-FULiveDemo" */; + buildConfigurationList = 0B14796D936E9A8FD6B1E4070DB9353C /* Build configuration list for PBXNativeTarget "SVProgressHUD" */; buildPhases = ( - 77A296DA638726B573677C40E407C3FC /* Sources */, - D8FF8780A8EF2F24FEF6F72FCB019E7A /* Frameworks */, + 09C886AD915ECA7A1AD4204BF56806B4 /* Sources */, + 5B3A54F1D0D31DE9061488EFD2914565 /* Frameworks */, + E5BE92644842106158FB8B4A82FAFB24 /* Headers */, ); buildRules = ( ); dependencies = ( - F905C7D1BCBA7734D13D02335ECFADE7 /* PBXTargetDependency */, ); - name = "Pods-FULiveDemo"; - productName = "Pods-FULiveDemo"; - productReference = D573A31DD32A4C364367C6B8DA8C13DC /* libPods-FULiveDemo.a */; + name = SVProgressHUD; + productName = SVProgressHUD; + productReference = 8DE7802A73E6C2A61444908CF9E8F9E9 /* libSVProgressHUD.a */; productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ @@ -242,8 +236,8 @@ D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0830; - LastUpgradeCheck = 0700; + LastSwiftUpdateCheck = 0930; + LastUpgradeCheck = 0930; }; buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; @@ -257,70 +251,50 @@ projectDirPath = ""; projectRoot = ""; targets = ( - F49FFF951DD998618F76F2809BE49EDE /* Pods-FULiveDemo */, - 7CE1D71EBCFE98C7BCE959B812C7F428 /* SVProgressHUD */, + 613F2DBDB116D70961BC7EAC514C3AA4 /* Pods-FULiveDemo */, + EE3488423F5499486D1CEBEAD0581661 /* SVProgressHUD */, ); }; /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ - 62785EBEA9BB07CFF6E6CCE92C3B9382 /* Sources */ = { + 046B64C97439689D827B3C8CB3206C54 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - AB183B1405FDCE1E571B19E10BF61B78 /* SVIndefiniteAnimatedView.m in Sources */, - F0FE425A82DFB24FA6D143EAE98ACF20 /* SVProgressAnimatedView.m in Sources */, - FAE84A5E0E4EF406DE8BDD5BB43270BC /* SVProgressHUD-dummy.m in Sources */, - F9967409358582E984214835E49DE465 /* SVProgressHUD.m in Sources */, - 068B51D77CA9BEABDC963711896877A8 /* SVRadialGradientLayer.m in Sources */, + 7945A104CC4ED357C684E47899CE0B5D /* Pods-FULiveDemo-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 77A296DA638726B573677C40E407C3FC /* Sources */ = { + 09C886AD915ECA7A1AD4204BF56806B4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 65C7181B17AF640E0361AACC9841951B /* Pods-FULiveDemo-dummy.m in Sources */, + 4D3E9BDC8D1C5505B7C0FB8641FA1071 /* SVIndefiniteAnimatedView.m in Sources */, + A00981888731E2E7B474E8C443F8F2A5 /* SVProgressAnimatedView.m in Sources */, + 208EB9C98B340FF02E1DCF928EBBF273 /* SVProgressHUD-dummy.m in Sources */, + AA4F61FC7C9B7734FFE411D4A53076F3 /* SVProgressHUD.m in Sources */, + FCA7241CF01B9028A9715BBAEE49CE60 /* SVRadialGradientLayer.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - F905C7D1BCBA7734D13D02335ECFADE7 /* PBXTargetDependency */ = { + CD235F18EA60F457128694756DEF704A /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SVProgressHUD; - target = 7CE1D71EBCFE98C7BCE959B812C7F428 /* SVProgressHUD */; - targetProxy = 25F8CB513C47D4CAAADCE9BBBF6E61AA /* PBXContainerItemProxy */; + target = EE3488423F5499486D1CEBEAD0581661 /* SVProgressHUD */; + targetProxy = 109AA188DF0F17FA0895355041449522 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 5A4F3C2C733067A4641E90F4FAF7A02B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7639CFC0D8B53A181379B3D35CF6B409 /* SVProgressHUD.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SVProgressHUD/SVProgressHUD-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 6133567E97ECF18B98461479D403D229 /* Debug */ = { + 035FB054C8554C602271276539B9A876 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 02A63FDADF1B3E8720467C0D4305AF56 /* Pods-FULiveDemo.debug.xcconfig */; + baseConfigurationReference = 19B48E6FBB739076C83C17FCDBA1756F /* Pods-FULiveDemo.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -334,31 +308,35 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - A62D352BEA9FF1FFAA48BE99AE2D686E /* Release */ = { + 1280145E48E8E5B51A3EB63484A74174 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 19B48E6FBB739076C83C17FCDBA1756F /* Pods-FULiveDemo.release.xcconfig */; + baseConfigurationReference = 7639CFC0D8B53A181379B3D35CF6B409 /* SVProgressHUD.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/SVProgressHUD/SVProgressHUD-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACH_O_TYPE = staticlib; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = SVProgressHUD; + PRODUCT_NAME = SVProgressHUD; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; name = Release; }; - B254DAA6CF0CE39F4A3D11B90A7E059A /* Release */ = { + 1EE19F5DD95931924296F637BF18BD8F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -368,10 +346,12 @@ 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; @@ -379,6 +359,7 @@ 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_RANGE_LOOP_ANALYSIS = YES; @@ -387,15 +368,19 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_ALLOWED = NO; CODE_SIGNING_REQUIRED = NO; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = 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_RELEASE=1", + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -405,15 +390,16 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SYMROOT = "${SRCROOT}/../build"; }; - name = Release; + name = Debug; }; - B357F7904F90EE754667A566580E87EB /* Release */ = { + 246D589E243E561AE396756131FA9255 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 7639CFC0D8B53A181379B3D35CF6B409 /* SVProgressHUD.xcconfig */; buildSettings = { @@ -426,16 +412,38 @@ OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = SVProgressHUD; + PRODUCT_NAME = SVProgressHUD; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; + }; + 56D40C8F5203B5977A15AB4CBD51988B /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 02A63FDADF1B3E8720467C0D4305AF56 /* Pods-FULiveDemo.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MACH_O_TYPE = staticlib; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; }; - E4B68EE12B21C47CB798D9B1ECA6D7A7 /* Debug */ = { + F4568DEE257655D290C2B9CEAB37C934 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -445,10 +453,12 @@ 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; @@ -456,6 +466,7 @@ 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_RANGE_LOOP_ANALYSIS = YES; @@ -464,18 +475,16 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_ALLOWED = NO; CODE_SIGNING_REQUIRED = NO; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; 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", + "POD_CONFIGURATION_RELEASE=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -485,42 +494,39 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; + MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SYMROOT = "${SRCROOT}/../build"; }; - name = Debug; + name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { + 0B14796D936E9A8FD6B1E4070DB9353C /* Build configuration list for PBXNativeTarget "SVProgressHUD" */ = { isa = XCConfigurationList; buildConfigurations = ( - E4B68EE12B21C47CB798D9B1ECA6D7A7 /* Debug */, - B254DAA6CF0CE39F4A3D11B90A7E059A /* Release */, + 246D589E243E561AE396756131FA9255 /* Debug */, + 1280145E48E8E5B51A3EB63484A74174 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 8EAC3F393C1FD18BB6ADFE5889DF7891 /* Build configuration list for PBXNativeTarget "SVProgressHUD" */ = { + 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5A4F3C2C733067A4641E90F4FAF7A02B /* Debug */, - B357F7904F90EE754667A566580E87EB /* Release */, + 1EE19F5DD95931924296F637BF18BD8F /* Debug */, + F4568DEE257655D290C2B9CEAB37C934 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 93CC7F01040211F191036C89E512C44E /* Build configuration list for PBXNativeTarget "Pods-FULiveDemo" */ = { + B3B1CB9A750EFE5599AEE61923DCA883 /* Build configuration list for PBXNativeTarget "Pods-FULiveDemo" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6133567E97ECF18B98461479D403D229 /* Debug */, - A62D352BEA9FF1FFAA48BE99AE2D686E /* Release */, + 56D40C8F5203B5977A15AB4CBD51988B /* Debug */, + 035FB054C8554C602271276539B9A876 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Pods/Pods.xcodeproj/xcuserdata/liuyang.xcuserdatad/xcschemes/Pods-FULiveDemo.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/liuyang.xcuserdatad/xcschemes/Pods-FULiveDemo.xcscheme new file mode 100644 index 00000000..9df5c948 --- /dev/null +++ b/Pods/Pods.xcodeproj/xcuserdata/liuyang.xcuserdatad/xcschemes/Pods-FULiveDemo.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pods/Pods.xcodeproj/xcuserdata/liuyang.xcuserdatad/xcschemes/SVProgressHUD.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/liuyang.xcuserdatad/xcschemes/SVProgressHUD.xcscheme new file mode 100644 index 00000000..4fb77985 --- /dev/null +++ b/Pods/Pods.xcodeproj/xcuserdata/liuyang.xcuserdatad/xcschemes/SVProgressHUD.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pods/Pods.xcodeproj/xcuserdata/liuyang.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/liuyang.xcuserdatad/xcschemes/xcschememanagement.plist index fd238fa4..df1f7c20 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/liuyang.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Pods/Pods.xcodeproj/xcuserdata/liuyang.xcuserdatad/xcschemes/xcschememanagement.plist @@ -6,14 +6,20 @@ Pods-FULiveDemo.xcscheme + isShown + orderHint - 1 + 0 SVProgressHUD.xcscheme + isShown + orderHint - 2 + 1 + SuppressBuildableAutocreation + diff --git a/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo-frameworks.sh b/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo-frameworks.sh index 88dd5379..08e3eaac 100755 --- a/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo-frameworks.sh +++ b/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo-frameworks.sh @@ -1,15 +1,28 @@ #!/bin/sh set -e +set -u +set -o pipefail + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + # This protects against multiple targets copying the same framework dependency at the same time. The solution # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") +# Copies and strips a vendored framework install_framework() { if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then @@ -58,21 +71,40 @@ install_framework() fi } -# Copies the dSYM of a vendored framework +# Copies and strips a vendored dSYM install_dsym() { local source="$1" if [ -r "$source" ]; then - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DWARF_DSYM_FOLDER_PATH}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DWARF_DSYM_FOLDER_PATH}" + # Copy the dSYM into a the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .framework.dSYM "$source")" + binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then + strip_invalid_archs "$binary" + fi + + if [[ $STRIP_BINARY_RETVAL == 1 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" + fi fi } # Signs a framework with the provided identity code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then # Use the current code_sign_identitiy echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then code_sign_cmd="$code_sign_cmd &" @@ -85,10 +117,18 @@ code_sign_if_enabled() { # Strip invalid architectures strip_invalid_archs() { binary="$1" - # Get architectures for current file - archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + STRIP_BINARY_RETVAL=0 + return + fi stripped="" - for arch in $archs; do + for arch in $binary_archs; do if ! [[ "${ARCHS}" == *"$arch"* ]]; then # Strip non-valid architectures in-place lipo -remove "$arch" -output "$binary" "$binary" || exit 1 @@ -98,6 +138,7 @@ strip_invalid_archs() { if [[ "$stripped" ]]; then echo "Stripped $binary of architectures:$stripped" fi + STRIP_BINARY_RETVAL=1 } if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then diff --git a/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo-resources.sh b/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo-resources.sh index 2abe1982..c75157a1 100755 --- a/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo-resources.sh +++ b/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo-resources.sh @@ -1,5 +1,13 @@ #!/bin/sh set -e +set -u +set -o pipefail + +if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then + # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy + # resources to, so exit 0 (signalling the script phase was successful). + exit 0 +fi mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" @@ -12,7 +20,7 @@ XCASSET_FILES=() # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") -case "${TARGETED_DEVICE_FAMILY}" in +case "${TARGETED_DEVICE_FAMILY:-}" in 1,2) TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" ;; @@ -98,7 +106,7 @@ if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then fi rm -f "$RESOURCES_TO_COPY" -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] then # Find all other xcassets (this unfortunately includes those of path pods and other targets). OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) @@ -108,5 +116,9 @@ then fi done <<<"$OTHER_XCASSETS" - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + else + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" + fi fi diff --git a/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo.debug.xcconfig b/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo.debug.xcconfig index eb4b4012..f05bf656 100644 --- a/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo.debug.xcconfig +++ b/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo.debug.xcconfig @@ -1,9 +1,9 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/SVProgressHUD" -LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/SVProgressHUD" OTHER_LDFLAGS = $(inherited) -ObjC -l"SVProgressHUD" -framework "QuartzCore" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods diff --git a/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo.release.xcconfig b/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo.release.xcconfig index eb4b4012..f05bf656 100644 --- a/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo.release.xcconfig +++ b/Pods/Target Support Files/Pods-FULiveDemo/Pods-FULiveDemo.release.xcconfig @@ -1,9 +1,9 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/SVProgressHUD" -LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/SVProgressHUD" OTHER_LDFLAGS = $(inherited) -ObjC -l"SVProgressHUD" -framework "QuartzCore" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods diff --git a/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.xcconfig b/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.xcconfig index aa04951b..20c21f09 100644 --- a/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.xcconfig +++ b/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.xcconfig @@ -1,9 +1,9 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SVProgressHUD" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/SVProgressHUD" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SVProgressHUD" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/SVProgressHUD" OTHER_LDFLAGS = -framework "QuartzCore" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/SVProgressHUD PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/README.md b/README.md index 07ad9729..51f87626 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,9 @@ FULiveDemo 是集成了 Faceunity 面部跟踪、美颜、Animoji、道具贴纸、AR面具、换脸、表情识别、音乐滤镜、背景分割、手势识别、哈哈镜、人像光照以及人像驱动功能的Demo。Demo新增了一个展示Faceunity产品列表的主界面,新版Demo将根据客户证书权限来控制用户可以使用哪些产品。 -注:第一运行Demo会报缺少证书的 error ,如果您已拥有我司颁发的证书,将证书替换到工程中重新运行即可。如您还没有我司颁发的证书,可以查看[这里](https://github.com/Faceunity/FULiveDemo/tree/dev#%E5%AF%BC%E5%85%A5%E8%AF%81%E4%B9%A6)获取证书 +注1:第一运行Demo会报缺少证书的 error ,如果您已拥有我司颁发的证书,将证书替换到工程中重新运行即可。如您还没有我司颁发的证书,可以查看[这里](https://github.com/Faceunity/FULiveDemo/tree/dev#%E5%AF%BC%E5%85%A5%E8%AF%81%E4%B9%A6)获取证书 + +注2:由于最新的含有深度学习的libnama.a大小已超过100M,我们使用了git-lfs上传,通过下载或克隆项目后,实际的libnama.a只是一个文件指针,这时工程肯定是不能直接编译运行的,所以我们同时上传了一个libnama.zip的文件,再你第一次编译工程的时候我们会解压libnama.zip,并替换掉libnama.a的文件指针。如果你想从工程目录中含有深度学习的libnama.a文件,并且你没有编译过工程的话,则需要先删除libnama.a的文件指针,并解压libnama.a才行。 ## SDK v5.4.0 更新 @@ -23,10 +25,28 @@ FULiveDemo 是集成了 Faceunity 面部跟踪、美颜、Animoji、道具贴纸 ## 导入SDK -### 通过 github 下载集成 +### 一、通过cocoapods集成 -含有深度学习的版本:[FaceUnity-SDK-iOS-v5.4.0-dev.zip](https://github.com/Faceunity/FULiveDemo/releases/download/v5.4.0-dev/FaceUnity-SDK-iOS-v5.4.0-dev.zip) +含有深度学习的版本: + + pod 'Nama', '5.4.0' #注意此版本目前为dev版 + +不含深度学习的版本(lite版): + pod 'Nama-lite', '5.4.0' #注意此版本目前为dev版 + +接下来执行: + + pod install + +如果提示无法找到该版本,请尝试执行以下指令后再试: + + pod repo update 或 pod setup + +### 二、通过 github 下载集成 + +含有深度学习的版本:[FaceUnity-SDK-iOS-v5.4.0-dev.zip](https://github.com/Faceunity/FULiveDemo/releases/download/v5.4.0-dev/FaceUnity-SDK-iOS-v5.4.0-dev.zip) + 不含深度学习的版本(lite版):[FaceUnity-SDK-iOS-v5.4.0-dev-lite.zip](https://github.com/Faceunity/FULiveDemo/releases/download/v5.4.0-dev/FaceUnity-SDK-iOS-v5.4.0-dev-lite.zip) 下载完成并解压后将库文件夹拖入到工程中,并勾选上 Copy items if needed,如图: @@ -41,6 +61,8 @@ FULiveDemo 是集成了 Faceunity 面部跟踪、美颜、Animoji、道具贴纸 +注意:如文档开头的“注2”所述,如果你想从工程目录中含有深度学习的libnama.a文件,并且你没有编译过工程的话,则需要手动删除libnama.a的文件指针,并解压libnama.a才行。 + ## 文件说明 ### 一、头文件