# Copyright 2020 The MediaPipe Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. load( "@build_bazel_rules_apple//apple:ios.bzl", "ios_application", ) load( "//mediapipe/examples/ios:bundle_id.bzl", "BUNDLE_ID_PREFIX", "example_provisioning", ) licenses(["notice"]) MIN_IOS_VERSION = "10.0" alias( name = "faceeffect", actual = "FaceEffectApp", ) ios_application( name = "FaceEffectApp", app_icons = ["//mediapipe/examples/ios/common:AppIcon"], bundle_id = BUNDLE_ID_PREFIX + ".FaceEffectGpu", families = [ "iphone", "ipad", ], infoplists = ["Info.plist"], minimum_os_version = MIN_IOS_VERSION, provisioning_profile = example_provisioning(), deps = [ ":FaceEffectAppLibrary", "@ios_opencv//:OpencvFramework", ], ) objc_library( name = "FaceEffectViewController", srcs = [ "FaceEffectViewController.mm", ], hdrs = [ "FaceEffectViewController.h", ], copts = ["-std=c++17"], data = [ "Base.lproj/LaunchScreen.storyboard", "Base.lproj/Main.storyboard", "//mediapipe/graphs/face_effect:face_effect_gpu.binarypb", "//mediapipe/graphs/face_effect/data:axis.binarypb", "//mediapipe/graphs/face_effect/data:axis.pngblob", "//mediapipe/graphs/face_effect/data:facepaint.pngblob", "//mediapipe/graphs/face_effect/data:glasses.binarypb", "//mediapipe/graphs/face_effect/data:glasses.pngblob", "//mediapipe/modules/face_detection:face_detection_front.tflite", "//mediapipe/modules/face_geometry/data:geometry_pipeline_metadata.binarypb", "//mediapipe/modules/face_geometry/data:geometry_pipeline_metadata_detection.binarypb", "//mediapipe/modules/face_geometry/data:geometry_pipeline_metadata_landmarks.binarypb", "//mediapipe/modules/face_landmark:face_landmark.tflite", ], sdk_frameworks = [ "AVFoundation", "CoreGraphics", "CoreMedia", "UIKit", ], deps = [ "//mediapipe/objc:mediapipe_framework_ios", "//mediapipe/objc:mediapipe_input_sources_ios", "//mediapipe/objc:mediapipe_layer_renderer", ] + select({ "//mediapipe:ios_i386": [], "//mediapipe:ios_x86_64": [], "//conditions:default": [ "//mediapipe/framework/formats:matrix_data_cc_proto", "//mediapipe/graphs/face_effect:face_effect_gpu_deps", "//mediapipe/modules/face_geometry/protos:face_geometry_cc_proto", ], }), ) objc_library( name = "FaceEffectAppLibrary", srcs = [ "AppDelegate.m", "main.m", ], hdrs = [ "AppDelegate.h", ], data = [ "Base.lproj/LaunchScreen.storyboard", "Base.lproj/Main.storyboard", "//mediapipe/graphs/face_effect:face_effect_gpu.binarypb", "//mediapipe/graphs/face_effect/data:facepaint.pngblob", "//mediapipe/graphs/face_effect/data:glasses.binarypb", "//mediapipe/graphs/face_effect/data:glasses.pngblob", "//mediapipe/modules/face_detection:face_detection_front.tflite", "//mediapipe/modules/face_geometry/data:geometry_pipeline_metadata.binarypb", "//mediapipe/modules/face_landmark:face_landmark.tflite", ], deps = [ ":FaceEffectViewController", ], )