bielikb/xcframeworks

Embed XCFramework using Run script phase

hrabkin opened this issue · 12 comments

I have found the way on how to embed a simple dynamic framework using Run script phase

Do you happen to know how to embed XCFramework using Run script phase?

@GRyabkin Nice!

Hi,
if you're eg using the fastlane plugin to create the xcframework, you should be fine with

  1. Adding an aggregate target to your project that builds the dynamic framework

Screenshot 2020-11-02 at 19 56 10

  1. Adding the Run script phase to the aggregated target.
    Here's an example of the script that
// cd to the project folder.
cd ${SRCROOT} #  Please note that if `fastlane` folder is not present as a subfolder of this project folder you might want run additional `cd ..` command

// run the lane that builds the xcframework
bundle exec fastlane export_xcframework

Let me know if that works. If not, you might want to play with your setup

Hey dude, I had the aggregate target before. I wanted to simplify by using fastlane for my CI. Looks like the action doesn't work.

Can you please clarify what exactly you're trying to achieve? I lack details about your current setup and what's the final goal you try to achieve, so any direction or information would be helpful ;)

I want to make your fastlane action to work

I want to build xcframework of my SDK by using the fastlane action

I have my Bundle name set as $(PRODUCT_NAME) maybe hardcoding this param helps but it's strange that it's not taken into account. Also, look fastlane action xcodebuild has derivedDataPath parameter I am surprised that you recommend me to cd to folder where derived data will be generated

Two archives succeded but the error looking into logs happens at combining them I guess

Im afraid that without the demo project/setup that reproduces your issue I won't be able to help you.

Have you tried to not use the product name param? Will you get the same result?

Forget, I will try to finish it up with fastlane action

The question was about embedding xcframework into project, not building it