diff --git a/CHANGELOG.md b/CHANGELOG.md index b30b3d93c6..f00c7b167c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,9 @@ To install release candidates run `[sudo] gem install cocoapods --pre` ##### Bug Fixes -* None. +* Correctly process multiple `xcframeworks` a pod provides. + [Dimitris Koutsogiorgas](https://github.com/dnkoutso) + [#10378](https://github.com/CocoaPods/CocoaPods/issues/10378) ## 1.11.0.beta.2 (2021-08-11) diff --git a/lib/cocoapods/generator/copy_xcframework_script.rb b/lib/cocoapods/generator/copy_xcframework_script.rb index 65671c192e..ee2487102c 100644 --- a/lib/cocoapods/generator/copy_xcframework_script.rb +++ b/lib/cocoapods/generator/copy_xcframework_script.rb @@ -130,33 +130,6 @@ def script done } -install_library() { - local source="$1" - local name="$2" - local destination="#{Target::BuildSettings::XCFRAMEWORKS_BUILD_DIR_VARIABLE}/${name}" - - # Libraries can contain headers, module maps, and a binary, so we'll copy everything in the folder over - - local source="$binary" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \\"- CVS/\\" --filter \\"- .svn/\\" --filter \\"- .git/\\" --filter \\"- .hg/\\" \\"${source}/*\\" \\"${destination}\\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" "${source}/*" "${destination}" -} - -# Copies a framework to derived data for use in later build phases -install_framework() -{ - local source="$1" - local name="$2" - local destination="#{Pod::Target::BuildSettings::XCFRAMEWORKS_BUILD_DIR_VARIABLE}/${name}" - - if [ ! -d "$destination" ]; then - mkdir -p "$destination" - fi - - copy_dir "$source" "$destination" - echo "Copied $source to $destination" -} - install_xcframework() { local basepath="$1" local name="$2" @@ -171,15 +144,16 @@ def script return fi local source="$basepath/$target_path" - - local destination="#{Pod::Target::BuildSettings::XCFRAMEWORKS_BUILD_DIR_VARIABLE}/${name}" + local files=( "${source}"/* ) + local folder=$(basename "${files[0]}") + source="${source}/${folder}" + local destination="${PODS_XCFRAMEWORKS_BUILD_DIR}/${name}/${folder}" if [ ! -d "$destination" ]; then mkdir -p "$destination" fi copy_dir "$source/" "$destination" - echo "Copied $source to $destination" }