Skip to content
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

Carthage xcframework support #293

Closed
j-won-o opened this issue Apr 30, 2021 · 13 comments
Closed

Carthage xcframework support #293

j-won-o opened this issue Apr 30, 2021 · 13 comments

Comments

@j-won-o
Copy link

j-won-o commented Apr 30, 2021

Carthage xcframeworks support is needed to save build time.

@thangngoquocOura
Copy link

Second this, should be straightforward to support XCFramework.

@hokstuff
Copy link
Collaborator

Hi @j-won-o and @thangngoquocOura,

Thanks for letting us know about the feature request. Carthage has recently released version 0.38.0 which adds XCFramework support for prebuilt binaries, and this is expected to be compatible with how we distribute our SDK. We have now added this request to our roadmap.

Best,
Daniel

@hokstuff hokstuff mentioned this issue May 26, 2021
1 task
@gui17aume
Copy link

Hello @hokstuff,
It's really good news that a full precompiled version as a XCFramework is coming via Carthage. Until then, do you plan to include this all-in-one XCFramework in the assets of your releases on GitHub? It would be much appreciated!

@gui17aume
Copy link

Hello @hokstuff,
Is there any update on this issue? It is a bit disappointing that the last release is not including a Appboy_iOS_SDK.xcframework.zip asset along with the legacy framework version.

@hokstuff
Copy link
Collaborator

hokstuff commented Jun 28, 2021

Hi @gui17aume,

Thanks for getting back to us and sorry for the delay. Currently, we distribute our SDK in an XCFramework built from a static library with the resources included separately. We are investigating for how we can package a complete all-in-one XCFramework built from a static library that also contains the resources. Once we have that, we will be able to attach that asset to our release on Github - but we do not have a timeline for when that may be ready.

Update: Since our current Carthage artifacts use dynamic frameworks, we are looking into generating an XCFramework from a dynamic framework instead of from static libraries.

Thank you for your patience!

@gui17aume
Copy link

Hi @hokstuff,

I understand that it could be better to have a all-in-one XCFramework built from a static library.

But since you currently deliver an all-in-one framework containing a dynamic library and the resource bundles:
Appboy Framework

wouldn't it be easier for you to package this already existing framework into a XCFramework? (by replacing the lipo step and keeping the simulator arm64 slice)
Appboy XCFramework

It could be a nice solution to provide a complete XCFramework quickly, and then you will have more time to adjust the XCFramework content if needed.

@hokstuff
Copy link
Collaborator

Hi @gui17aume,

Thank you for your patience on this! Your proposed solution makes sense and they would allow us to create a standalone XCFramework. However, it requires us to update a decent amount of our build process and automated scripts to make our current Carthage frameworks - so right now we cannot guarantee that we would release this new XCFramework artifact before we release Carthage XCFramework support (composed of a dynamic framework). These two projects have a decent amount of overlap and as we investigate, it may make sense to bundle them into the same release.

We will keep you updated as we have more information. Thanks!

@marcusziade
Copy link

Any update?

1 similar comment
@Sadmansamee
Copy link

Any update?

@hokstuff
Copy link
Collaborator

hokstuff commented Aug 6, 2021

Hi all,

Our team has this project planned in the near future, but we are currently addressing changes related to the expected iOS 15 release next month. We have this project lined up as one of the top priorities once our preparations for the new OS are out.

Thank you for your continued patience on this issue - we appreciate it!

@hokstuff
Copy link
Collaborator

Hello,

Just giving you all an update since there were no changes around this topic in our 4.3.3 release today. We are currently validating a proposed change to add a standalone XCFramework (with assets) and are working to add that to the Carthage ecosystem. We plan to include these features in upcoming release(s), and we will be sure to post here with updates on either (or both) of these feature requests.

Thank you all!

@hokstuff
Copy link
Collaborator

Hi all!

We just released the iOS SDK version 4.4.0 which adds XCFramework support to Carthage! This release also adds a new asset called Appboy_iOS_SDK.xcframework.zip, which contains the all-in-one XCFramework that can be dragged and dropped directly into a project. Please let us know here or via emailing support@braze.com if you run into any issues!

Note: When importing via Carthage, you may need to use carthage update --use-xcframework instead of the carthage build --use-xcframework command described in the Carthage migration steps.

Thank you so much for your patience on this request! 🙏

Best,
Braze iOS Team

@marcelofabri
Copy link

The Core integration does not support XCFrameworks, and you can use the original .framework files as before.

Any reason for that @hokstuff? That's the integration we've been using and would love to keep using it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants