瀏覽代碼

添加iOS人脸配置代码

RandyWei 5 年之前
父節點
當前提交
81165eb60c
共有 25 個文件被更改,包括 58 次插入13 次删除
  1. 13 3
      example/ios/Runner.xcodeproj/project.pbxproj
  2. 7 0
      example/ios/Runner/Info.plist
  3. 二進制
      example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/blink.mp3
  4. 二進制
      example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/close.png
  5. 二進制
      example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/ding.mp3
  6. 二進制
      example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/facecover.png
  7. 二進制
      example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/head_down.mp3
  8. 二進制
      example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/head_up.mp3
  9. 二進制
      example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/head_yaw.mp3
  10. 二進制
      example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/moveface.mp3
  11. 二進制
      example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/open_mouth.mp3
  12. 二進制
      example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/success.png
  13. 二進制
      example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/turn_left.mp3
  14. 二進制
      example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/turn_right.mp3
  15. 二進制
      example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/warning.png
  16. 二進制
      example/ios/Runner/com.baidu.idl.face.model.bundle/align.binary_64
  17. 二進制
      example/ios/Runner/com.baidu.idl.face.model.bundle/blur.binary
  18. 二進制
      example/ios/Runner/com.baidu.idl.face.model.bundle/facedetect.binary
  19. 2 0
      example/ios/Runner/com.baidu.idl.face.model.bundle/idl_license
  20. 二進制
      example/ios/Runner/com.baidu.idl.face.model.bundle/occlu.binary
  21. 二進制
      example/ios/Runner/com.baidu.idl.face.model.bundle/score.binary
  22. 0 2
      ios/Classes/FltbdfacePlugin.m
  23. 14 3
      ios/Classes/SwiftFltbdfacePlugin.swift
  24. 18 0
      ios/Classes/TestViewController.swift
  25. 4 5
      ios/fltbdface.podspec

+ 13 - 3
example/ios/Runner.xcodeproj/project.pbxproj

@@ -18,6 +18,9 @@
 		97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
 		97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
 		97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
+		B615375A244E7DB8001D1061 /* idl-license.face-ios in Resources */ = {isa = PBXBuildFile; fileRef = B6153759244E7DB7001D1061 /* idl-license.face-ios */; };
+		B61537A6244E8D2F001D1061 /* com.baidu.idl.face.faceSDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B61537A4244E8D2F001D1061 /* com.baidu.idl.face.faceSDK.bundle */; };
+		B61537A7244E8D2F001D1061 /* com.baidu.idl.face.model.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B61537A5244E8D2F001D1061 /* com.baidu.idl.face.model.bundle */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXCopyFilesBuildPhase section */
@@ -54,7 +57,9 @@
 		97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
 		97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 		B615373C244DA1F6001D1061 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
-		B615373E244DA21A001D1061 /* fltbdface.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = fltbdface.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		B6153759244E7DB7001D1061 /* idl-license.face-ios */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "idl-license.face-ios"; sourceTree = "<group>"; };
+		B61537A4244E8D2F001D1061 /* com.baidu.idl.face.faceSDK.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = com.baidu.idl.face.faceSDK.bundle; sourceTree = "<group>"; };
+		B61537A5244E8D2F001D1061 /* com.baidu.idl.face.model.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = com.baidu.idl.face.model.bundle; sourceTree = "<group>"; };
 		C6AC83034DDBA03A7BDB796F /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		F50D5DA2C533DEE9DF64199C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
@@ -76,7 +81,6 @@
 		2EA226D9E06656BE4335D24B /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
-				B615373E244DA21A001D1061 /* fltbdface.framework */,
 				B615373C244DA1F6001D1061 /* libc++.tbd */,
 				C6AC83034DDBA03A7BDB796F /* Pods_Runner.framework */,
 			);
@@ -118,6 +122,9 @@
 		97C146F01CF9000F007C117D /* Runner */ = {
 			isa = PBXGroup;
 			children = (
+				B61537A4244E8D2F001D1061 /* com.baidu.idl.face.faceSDK.bundle */,
+				B61537A5244E8D2F001D1061 /* com.baidu.idl.face.model.bundle */,
+				B6153759244E7DB7001D1061 /* idl-license.face-ios */,
 				97C146FA1CF9000F007C117D /* Main.storyboard */,
 				97C146FD1CF9000F007C117D /* Assets.xcassets */,
 				97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
@@ -213,8 +220,11 @@
 			buildActionMask = 2147483647;
 			files = (
 				97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
+				B61537A7244E8D2F001D1061 /* com.baidu.idl.face.model.bundle in Resources */,
+				B615375A244E7DB8001D1061 /* idl-license.face-ios in Resources */,
 				3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
 				97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
+				B61537A6244E8D2F001D1061 /* com.baidu.idl.face.faceSDK.bundle in Resources */,
 				97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -249,7 +259,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin";
+			shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin\n";
 		};
 		655BDEC8524DA2C3443BBE54 /* [CP] Check Pods Manifest.lock */ = {
 			isa = PBXShellScriptBuildPhase;

+ 7 - 0
example/ios/Runner/Info.plist

@@ -2,6 +2,11 @@
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
+	<key>NSAppTransportSecurity</key>
+	<dict>
+		<key>NSAllowsArbitraryLoads</key>
+		<true/>
+	</dict>
 	<key>CFBundleDevelopmentRegion</key>
 	<string>$(DEVELOPMENT_LANGUAGE)</string>
 	<key>CFBundleExecutable</key>
@@ -22,6 +27,8 @@
 	<string>$(FLUTTER_BUILD_NUMBER)</string>
 	<key>LSRequiresIPhoneOS</key>
 	<true/>
+	<key>NSCameraUsageDescription</key>
+	<string>需要使用相机来完成人脸校验</string>
 	<key>UILaunchStoryboardName</key>
 	<string>LaunchScreen</string>
 	<key>UIMainStoryboardFile</key>

二進制
example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/blink.mp3


二進制
example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/close.png


二進制
example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/ding.mp3


二進制
example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/facecover.png


二進制
example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/head_down.mp3


二進制
example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/head_up.mp3


二進制
example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/head_yaw.mp3


二進制
example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/moveface.mp3


二進制
example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/open_mouth.mp3


二進制
example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/success.png


二進制
example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/turn_left.mp3


二進制
example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/turn_right.mp3


二進制
example/ios/Runner/com.baidu.idl.face.faceSDK.bundle/warning.png


二進制
example/ios/Runner/com.baidu.idl.face.model.bundle/align.binary_64


二進制
example/ios/Runner/com.baidu.idl.face.model.bundle/blur.binary


二進制
example/ios/Runner/com.baidu.idl.face.model.bundle/facedetect.binary


+ 2 - 0
example/ios/Runner/com.baidu.idl.face.model.bundle/idl_license

@@ -0,0 +1,2 @@
+2603daef75110b04d6968d356d891f6458d1a35cb2c17ee53e8979a0771150253ad7709d324bd3ecf715338277b20fca6fff8e47e8bfd805b4ba81c79572622e46cb691ef8ee3bce5dafca7c0da29757326e28d0c402f872e97e3e8bee761a1625d5d7f212a46ce58055b4c56e0a997cf330def03213cc6b052a2429a0d56d2a8170aa66bda56516354ae4d23a6d16df709c4c6ebe9e9b1697930cba95f53e139ef0f238e5c00a25917bca422adeebf20ae49340523fe7ba31b47e3297385351e0662bc09c6813ca11c45356b471c3e4d330506571792fe9aea42190433fde5f5522415be3b64c68a890485790b455d31031722244b0c0d3531a762517ec4bab
+472e846741f81210c0fa92d9a78a25a69351beb3cc06e67376f27a2b1149fbfa036756bc7277107d0c6d9a916a43eaec34d3731681f81f1953024b0df9987ca5d57fea39673e15539d7eab8649d09f831a50dc8e4230c5c139c69e211618399dfe98725673e0efc3055cbf5d1477df03a4334013eef66367c16679f40ae3b605b912380fc8231c0c052a53d0ba4d2e79ad511bc312243642040d64e32f383be6346b0be61a5fda944d86bd5aa9e76bbd60064aa1353c6105ea7704bdcc42ea5543601e1c7c258253f3f38260522d49b8b5ccf79d9c646d52be1daac6a17c82db41a8f666734cb35b5f6adcba2c3ccec475d42ef245505faeb1926b5930024930

二進制
example/ios/Runner/com.baidu.idl.face.model.bundle/occlu.binary


二進制
example/ios/Runner/com.baidu.idl.face.model.bundle/score.binary


+ 0 - 2
ios/Classes/FltbdfacePlugin.m

@@ -11,7 +11,5 @@
 @implementation FltbdfacePlugin
 + (void)registerWithRegistrar:(NSObject<FlutterPluginRegistrar>*)registrar {
   [SwiftFltbdfacePlugin registerWithRegistrar:registrar];
-    
-    
 }
 @end

+ 14 - 3
ios/Classes/SwiftFltbdfacePlugin.swift

@@ -45,18 +45,29 @@ public class SwiftFltbdfacePlugin: NSObject, FlutterPlugin {
             return
         }
         else if call.method == "startFaceLiveness" {
+            
             let rootViewController = UIApplication.shared.delegate?.window??.rootViewController
+            
             if(nil == rootViewController){
                 result(FlutterError(code: "500", message: "rootViewController is nil.", details: "rootViewController is not set."))
                 return
             }
+            
             let detectController = LivenessViewController()
             detectController.resultHandler = { [weak self] imageString in
                 self?.eventSink?(imageString)
             }
-            let navController = UINavigationController(rootViewController: detectController)
-            navController.modalPresentationStyle = .fullScreen
-            rootViewController?.present(navController, animated: true, completion: nil)
+            
+//            let navController = UINavigationController(rootViewController: detectController)
+//            navController.modalPresentationStyle = .fullScreen
+//            rootViewController?.present(navController, animated: true, completion: nil)
+            
+//            let testController = TestViewController()
+//            let navController = UINavigationController(rootViewController: testController)
+//            navController.modalPresentationStyle = .fullScreen
+            
+            rootViewController?.present(detectController, animated: true, completion: nil)
+            
             return
         }
     }

+ 18 - 0
ios/Classes/TestViewController.swift

@@ -0,0 +1,18 @@
+//
+//  TestViewController.swift
+//  fltbdface
+//
+//  Created by RandyWei on 2020/4/21.
+//
+
+import Foundation
+
+class TestViewController: UIViewController {
+    override func viewWillAppear(_ animated: Bool) {
+        let text = UILabel()
+        text.frame = CGRect(x: 50, y: 50, width: 100, height: 100)
+        text.text = "UILabel"
+        self.view.addSubview(text)
+        self.view.backgroundColor = UIColor(red: 255, green: 0, blue: 0, alpha: 1)
+    }
+}

+ 4 - 5
ios/fltbdface.podspec

@@ -9,16 +9,15 @@ Pod::Spec.new do |s|
   s.description      = <<-DESC
 Baidu&#x27;s face recognition SDK encapsulates the flutter version, calls native SDK and interface operations, and returns data to flutter
                        DESC
-  s.homepage         = 'http://example.com'
+  s.homepage         = 'https://www.bughub.dev'
   s.license          = { :file => '../LICENSE' }
-  s.author           = { 'Your Company' => 'email@example.com' }
+  s.author           = { 'RandyWei' => 'smile561607154@gmail.com' }
   s.source           = { :path => '.' }
   s.source_files = 'Classes/**/*'
   s.dependency 'Flutter'
-  s.platform = :ios, '8.0'
+  s.platform = :ios, '9.0'
+  s.ios.libraries = 'c++'
   s.vendored_frameworks = 'Libs/FaceSDK/IDLFaceSDK.framework'
-  # s.resources = 'Libs/FaceSDK/com.baidu.idl.face.faceSDK.bundle','Libs/FaceSDK/com.baidu.idl.face.model.bundle'
-
   # Flutter.framework does not contain a i386 slice. Only x86_64 simulators are supported.
   s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'VALID_ARCHS[sdk=iphonesimulator*]' => 'x86_64' }
   s.swift_version = '5.0'