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 Xcode >=12 compatibility #1591

Closed
jesusmateos1234 opened this issue Jan 6, 2021 · 5 comments
Closed

Carthage Xcode >=12 compatibility #1591

jesusmateos1234 opened this issue Jan 6, 2021 · 5 comments
Labels
state:wont-fix Won’t be fixed with a clearly stated reason type:bug Impaired feature or lacking behavior that is likely assumed

Comments

@jesusmateos1234
Copy link

Generate xcframework for the next version in order to avoid using carthage workaround

https://github.com/Carthage/Carthage#building-platform-independent-xcframeworks-xcode-12-and-above

@cbaker6

@jesusmateos1234 jesusmateos1234 changed the title Carthage Xcode 12 FR: Carthage Xcode 12 Jan 6, 2021
@cbaker6
Copy link
Contributor

cbaker6 commented Jan 6, 2021

Thanks for the link, @drdaz is looking at this in #1561

@cbaker6 cbaker6 added the type:feature New feature or improvement of existing feature label Jan 6, 2021
@stale
Copy link

stale bot commented Jul 21, 2021

This issue has been automatically marked as stale because it has not had recent activity. If you believe it should stay open, please let us know! As always, we encourage contributions, check out the Contributing Guide

@stale stale bot added the Stale label Jul 21, 2021
@mtrezza mtrezza removed the Stale label Oct 14, 2021
@mtrezza
Copy link
Member

mtrezza commented Jan 20, 2022

We may be moving straight to SPM support and skip fixing the carthage build altogether, see discussion in #1615. In the meantime, I found a rather complex way to build with carthage on Xcode 13.2.1:

  1. Use carthage build script carthage.sh for Xcode >12 compatibility
  2. Build all xcframeworks; do not use --no-use-binaries as facebook-ios-sdk is required as dependency of Parse SDK but cannot be built from source in Xcode 13; run: ./carthage.sh update --use-xcframeworks --platform iOS
  3. Add built xcframeworks to Xcode project, except Parse.xcframework, see step 5 why.
  4. Open Carthage/Checkouts/facebook-ios-sdk/samples/SmoketestSPM/SmoketestSPM.xcodeproj and wait for SPM to download the dependency; see here why.
  5. Build Parse SDK frameworks because ParseFacebookUtilsV4.xcframework requires Parse.framework (not as xcframework), so it needs to be built and added via carthage copy-frameworks in the Xcode project's build phases; run: ./carthage.sh update Parse-SDK-iOS-OSX --platform iOS; note that during the build process, after carthage refetches facebook-ios-sdk and before it begins to build its scheme you may need to quickly retrigger the download in step 4.

@mtrezza mtrezza pinned this issue Jan 20, 2022
@mtrezza mtrezza changed the title FR: Carthage Xcode 12 Carthage Xcode >=12 compatibility Jan 20, 2022
@mtrezza
Copy link
Member

mtrezza commented Jan 20, 2022

I'm keeping this issue open if someone looks for guidance when building with carthage, but with a note that we intend to focus on adding Swift Package Manager support (#1453) as a more sustainable solution instead of fixing the carthage build process / xcframeworks.

@mtrezza mtrezza added state:wont-fix Won’t be fixed with a clearly stated reason type:bug Impaired feature or lacking behavior that is likely assumed and removed type:feature New feature or improvement of existing feature labels Jan 20, 2022
@mtrezza mtrezza unpinned this issue Sep 29, 2022
@mtrezza
Copy link
Member

mtrezza commented Jan 29, 2023

Closing as release 2.0.0 supports import via Swift Package Manager.

@mtrezza mtrezza closed this as completed Jan 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
state:wont-fix Won’t be fixed with a clearly stated reason type:bug Impaired feature or lacking behavior that is likely assumed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants