diff --git a/cmake/Modules/CocosBuildHelpers.cmake b/cmake/Modules/CocosBuildHelpers.cmake
index 761d33f95ac1..193f2c4f09a3 100644
--- a/cmake/Modules/CocosBuildHelpers.cmake
+++ b/cmake/Modules/CocosBuildHelpers.cmake
@@ -128,6 +128,7 @@ function(search_depend_libs_recursive cocos_target all_depends_out)
             break()
         endif()
     endwhile(true)
+    list(REMOVE_DUPLICATES all_depends_inner)
     set(${all_depends_out} ${all_depends_inner} PARENT_SCOPE)
 endfunction()
 
@@ -149,7 +150,7 @@ function(get_target_depends_ext_dlls cocos_target all_depend_dlls_out)
             endif()
         endif()
     endforeach()
-
+    list(REMOVE_DUPLICATES all_depend_ext_dlls)
     set(${all_depend_dlls_out} ${all_depend_ext_dlls} PARENT_SCOPE)
 endfunction()
 
@@ -278,8 +279,13 @@ endmacro()
 # custom Xcode property for iOS target
 macro(cocos_config_target_xcode_property cocos_target)
     if(IOS)
-        set_xcode_property(${cocos_target} ENABLE_BITCODE "NO")
-        set_xcode_property(${cocos_target} ONLY_ACTIVE_ARCH "YES")
+        set(real_target)
+        get_property(real_target TARGET ${cocos_target} PROPERTY ALIASED_TARGET)
+        if (NOT real_target)
+            set(real_target ${cocos_target})
+        endif()
+        set_xcode_property(${real_target} ENABLE_BITCODE "NO")
+        set_xcode_property(${real_target} ONLY_ACTIVE_ARCH "YES")
     endif()
 endmacro()