diff --git a/modules/objc/generator/CMakeLists.txt b/modules/objc/generator/CMakeLists.txt
index be7ab3ff74..dd6f58db6d 100644
--- a/modules/objc/generator/CMakeLists.txt
+++ b/modules/objc/generator/CMakeLists.txt
@@ -77,10 +77,8 @@ add_custom_command(
COMMENT "Generate files for Objective-C bindings"
)
-add_custom_target(gen_opencv_objc_source DEPENDS ${objc_generated_files}
+add_custom_target(gen_opencv_objc_source ALL DEPENDS ${objc_generated_files}
SOURCES "${OBJC_SOURCE_DIR}/generator/gen_objc.py"
"${OBJC_SOURCE_DIR}/generator/templates/cmakelists.template"
"${CMAKE_CURRENT_BINARY_DIR}/gen_objc.json"
)
-
-add_dependencies(opencv_world gen_opencv_objc_source)
diff --git a/modules/objc/test/cmakelists.template b/modules/objc/test/cmakelists.template
index 48578645b8..f25324e585 100644
--- a/modules/objc/test/cmakelists.template
+++ b/modules/objc/test/cmakelists.template
@@ -27,6 +27,7 @@ xctest_add_bundle(OpenCVTestTests OpenCVTest ${test_sources} test/resources ${FR
set_target_properties(OpenCVTestTests PROPERTIES
XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS "${FRAMEWORK_DIR}"
XCODE_ATTRIBUTE_OTHER_SWIFT_FLAGS "-Xcc ${SUPPRESS_WARNINGS_FLAGS}"
+ XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS "${FRAMEWORK_DIR}"
)
# link necessary Frameworks
diff --git a/platforms/ios/build_framework.py b/platforms/ios/build_framework.py
index c623610a73..c3a17c7075 100755
--- a/platforms/ios/build_framework.py
+++ b/platforms/ios/build_framework.py
@@ -295,7 +295,7 @@ class Builder:
"-Xlinker", "/usr/lib/swift",
"-target", link_target,
"-isysroot", sdk_dir,
- "-install_name", ("@executable_path/Frameworks/" + self.framework_name + ".framework/" + self.framework_name) if is_device else res,
+ "-install_name", "@rpath/" + self.framework_name + ".framework/" + self.framework_name,
"-dynamiclib", "-dead_strip", "-fobjc-link-runtime", "-all_load",
"-o", res
] + swift_link_dirs + bitcode_flags + module + libs + libs3)
diff --git a/samples/swift/ios/ColorBlobDetection/ColorBlobDetectionDynamic.xcodeproj/project.pbxproj b/samples/swift/ios/ColorBlobDetection/ColorBlobDetectionDynamic.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..fb842a38bf
Binary files /dev/null and b/samples/swift/ios/ColorBlobDetection/ColorBlobDetectionDynamic.xcodeproj/project.pbxproj differ
diff --git a/samples/swift/ios/ColorBlobDetection/ColorBlobDetectionDynamic.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/samples/swift/ios/ColorBlobDetection/ColorBlobDetectionDynamic.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000000..3d4c1e5525
--- /dev/null
+++ b/samples/swift/ios/ColorBlobDetection/ColorBlobDetectionDynamic.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/samples/swift/ios/FaceDetection/FaceDetectionDynamic.xcodeproj/project.pbxproj b/samples/swift/ios/FaceDetection/FaceDetectionDynamic.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..e0d17a8e40
Binary files /dev/null and b/samples/swift/ios/FaceDetection/FaceDetectionDynamic.xcodeproj/project.pbxproj differ
diff --git a/samples/swift/ios/FaceDetection/FaceDetectionDynamic.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/samples/swift/ios/FaceDetection/FaceDetectionDynamic.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000000..3d4c1e5525
--- /dev/null
+++ b/samples/swift/ios/FaceDetection/FaceDetectionDynamic.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+