-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
XCFramework Rework #9720
XCFramework Rework #9720
Conversation
b741f3c
to
20fd9e2
Compare
lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_installer.rb
Show resolved
Hide resolved
lib/cocoapods/installer/user_project_integrator/target_integrator.rb
Outdated
Show resolved
Hide resolved
lib/cocoapods/installer/user_project_integrator/target_integrator.rb
Outdated
Show resolved
Hide resolved
20fd9e2
to
594ecd0
Compare
lib/cocoapods/installer/user_project_integrator/target_integrator.rb
Outdated
Show resolved
Hide resolved
…f the aggregate target level
594ecd0
to
74b2ee1
Compare
@icecrystal23 @radazzouz would love if you could give this a try |
lib/cocoapods/installer/user_project_integrator/target_integrator.rb
Outdated
Show resolved
Hide resolved
lib/cocoapods/installer/user_project_integrator/target_integrator.rb
Outdated
Show resolved
Hide resolved
74b2ee1
to
b8d7ee8
Compare
Thanks for the heads up, @amorde! I checked out this branch and the required submodule branch and building works on iOS (both simulator and device) and Mac Catalyst. However, the dSYMs are no longer present in the archives. dSYMs work great in 1.9.1 stable. The BCSymbolMaps are working as expected. |
Update: With a corrected Gemfile, this is working for the example project that was failing for me before 👍 |
@icecrystal23 you need to bump cocoapods-core gem to master as well. |
Thank you both for testing this so quickly 🙏 will work on the dSYMs |
06ebf26
to
40f5d70
Compare
@radazzouz dSYMs should be fixed! |
I just pulled and retested and I confirm that dSYMs are |
I tested with an iOS archive and was able to see dSYMs being included. Do you see a “Copy dSYMs” script build phase on the pod target? |
I tried using the sample you provided for #9530 and I'm seeing the dSYMs in the archive Have you tried the typical clean build / DerivedData / etc.? If so, do you see something like this at the bottom of the would love to figure out why this isn't working for you |
My apologies for the confusion, @amorde! I mistyped in #9720 (comment) the dSYMs are working fine for me. |
Oh great! No problem, thank you both for taking time to test this, much appreciated |
Hello, can someone please look at this regression? Currently experiencing vendored_frameworks + multiple xcframeworks broken. This appeared as a regression in our project after this work got merged in a later CocoaPods version. It looks like after the issue was caught no one has fixed it? I don't know what people are doing to work around it either. |
Closes #9528
Closes #9670
Closes #9525
Requires CocoaPods/cocoapods-integration-specs#280
This PR reworks how xcframework are handled by moving the selection of the correct "slice" to the pod target instead of the aggregate target, similar to what was done in #9547
This also adds support for xcframeworks that wrap static libraries, as described in #9528.
Implementation Details
A new script phase
Embed XCFrameworks
is added to the Pod Target that contains the vendored xcframework. This script copies the correct slice (either a.framework
or static lib + headers) to${PODS_XCFRAMEWORKS_BUILD_DIR}/[xcframework_name]/
. The existingEmbed Frameworks
script will then import the framework from${PODS_XCFRAMEWORKS_BUILD_DIR}/[xcframework_name]/
to the target build directory.${FRAMEWORK_SEARCH_PATHS}
and/or${LIBRARY_SEARCH_PATHS}
now include${PODS_XCFRAMEWORKS_BUILD_DIR}/[xcframework_name]/
if a relevant xcframework exists for a given host target.${HEADER_SEARCH_PATHS}
now includes${PODS_XCFRAMEWORKS_BUILD_DIR}/[xcframework_name]/Headers
if relevant static-library-based xcframeworks exist for a given host target.