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

Catalyst support #2799

Open
NachoSoto opened this issue Jun 3, 2019 · 30 comments · May be fixed by #3235
Open

Catalyst support #2799

NachoSoto opened this issue Jun 3, 2019 · 30 comments · May be fixed by #3235
Assignees

Comments

@NachoSoto
Copy link
Contributor

Apparently in order for this to work Carthage will need to build .xcframeworks now: https://twitter.com/NeoNacho/status/1135691439734575104.

@ikesyo
Copy link
Member

ikesyo commented Jun 4, 2019

.xcframework can be made by xcodebuild -create-xcframework which takes -framework and -output options. So that's means that we should run the command instead of lipoing after building per-platform frameworks.

@tmspzz
Copy link
Member

tmspzz commented Jun 4, 2019

example:

$ xcodebuild archive -workspace Alamofire.xcworkspace -scheme "Alamofire iOS" -sdk iphoneos13.0 OBJROOT=build/iOS
$ xcodebuild archive -workspace Alamofire.xcworkspace -scheme "Alamofire iOS" -sdk iphonesimulator13.0 OBJROOT=build/simulator
$ xcodebuild -create-xcframework -framework build/iOS/UninstalledProducts/iphoneos/Alamofire.framework -framework build/simulator/UninstalledProducts/iphonesimulator/Alamofire.framework -output build/Alamofire.xcframework

@tmspzz

This comment has been minimized.

@alexisakers

This comment has been minimized.

@tmspzz

This comment has been minimized.

@ikesyo

This comment has been minimized.

@tmspzz

This comment has been minimized.

@tmspzz tmspzz self-assigned this Jun 4, 2019
@tmspzz
Copy link
Member

tmspzz commented Jun 5, 2019

#2801 is in progress but can already build xcframeworks with carthage build --platform iOS --no-skip-current --create-xcframework

I'm not sure what we're supposed to do with dSYMs

@tmspzz tmspzz mentioned this issue Jun 5, 2019
5 tasks
@haithngn

This comment has been minimized.

@tmspzz

This comment has been minimized.

@haithngn

This comment has been minimized.

@mdiep
Copy link
Member

mdiep commented Jun 10, 2019

This should mean that we can stop using copy-frameworks then?

@tmspzz
Copy link
Member

tmspzz commented Jun 10, 2019

@mdiep as far as I can tell yes. But I'm not sure how dsyms will be packaged.

@jaelee1993
Copy link

Hey guys, I was just wondering was there a resolution to this problem?

@tobyyoungberg
Copy link

It looks like dSYM files are inside each architecture package. ios.xcarchive/dSYMs Can they simply be copied next to the XCFramework or something? Is there a way to package them inside the xcframework as part of the create-xcframework command?

@LamineNdy
Copy link

Hello, any ETA planned for this feature?

@steipete
Copy link

CocoaPods recently added support for xcframeworks in 1.9.0, we (PSPDFKit) sponsored part of the development. Would anyone be interested in a similar agreement?

CocoaPods/CocoaPods#9148

@DavidBrunow
Copy link
Contributor

I’d be happy to implement Catalyst functionality on my employer’s time but I am worried that Carthage has no forward movement. There are multiple other pull requests that seem to be stuck.

@tmspzz
Copy link
Member

tmspzz commented Feb 17, 2020

@DavidBrunow which ones? I have merged quite a few recently. Please contact me on twitter about this https://twitter.com/tmpz

I also have contacted @steipete since I have some time on my hands but I can't guarantee it will be enough.

@DavidBrunow
Copy link
Contributor

@tmspzz Sorry I was wrong about the pull requests not being merged -- I hadn't noticed that they had been. But we are still waiting on a release for those pull requests so I'm still worried.

@paulb777
Copy link

I just tried to install a binary xcframework via Carthage. It installed the simulator .framework slice and threw out the arm .framework slice.

mollidor added a commit to sumup/sumup-ios-sdk that referenced this issue Sep 1, 2020
* [CHANGED] The SumUp SDK is now a dynamic framework and is shipped as
  an XCFramework. If you had previous versions installed, check out the
  Migration Guide.
* [CHANGED] The `SMPSharedResources.bundle` is now part of the
  XCFramework and should not be added to the app target
* Warning: The latest Carthage (0.35.0) is not yet compatible with
  XCFrameworks (see Carthage/Carthage#2799)

Sample application:

* [UPDATE] Remove `-ObjC` from Other Linker Flags
@mlostekk
Copy link

mlostekk commented Dec 31, 2020

is carthage dead? or will a fix come one day?

@fnuky
Copy link

fnuky commented Dec 31, 2020

is carthage dead? or will a fix come one day?

Probably is :D I had to switch to spm because I can't wait anymore

@evandcoleman
Copy link

It's most certainly not dead. XCFramework support is actually now on master as of a few weeks ago. #3071

@mlostekk
Copy link

Ah wonderful! Any ETA for a public release?

@nishantd-03
Copy link

looks like the changes are released in today's 0.37 release.

@tmspzz
Copy link
Member

tmspzz commented Feb 2, 2021

O.37.0 includes support for .xcframeworks but not yet for Catalyst

@ddaddy
Copy link

ddaddy commented Feb 14, 2021

Now that we have XCFrameworks support, is there a way to get the Catalyst slice built?

@hansemannn
Copy link

hansemannn commented Aug 13, 2021

Happy to sponsor Catalyst slice support, please feel to contact me via Twitter @hansemannnn!

@NachoSoto NachoSoto linked a pull request Oct 5, 2021 that will close this issue
4 tasks
@NachoSoto
Copy link
Contributor Author

I pushed a working implementation: #3235

Not quite ready to be merged yet, but if you want to try it out in your project, feel free to clone it and make install, and let me know if you encounter any issues!

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

Successfully merging a pull request may close this issue.