Skip to content

Conversation

@elliottwilliams
Copy link
Contributor

The logic introduced in #3152 attempts to avoid downloading an xcframework when a user didn't ask for one. This is acceptable for GitHub Releases, where a source fallback is available, but not for xcframework-only binary projects. Projects which only advertise an XCFramework appear to succeed but download nothing when built without --use-xcframeworks:

carthage build Foo 
*** xcodebuild output can be found in /var/folders/qt/83cpf99j101_gkm4n6d67x68z90dks/T/carthage-xcodebuild.QLjLO8.log
*** Downloading binary-only framework MarketingCloudSDK at "https://example.com/Foo.json"

(Notice that there's no *** Downloading Foo binary at "x.y.z" event indicating that an actual binary was downloaded.)

Fixed by causing binaryAssetFilter to behave differently for binary project URLs, and select unwanted xcframework releases as a last resort.

Firebase 8.x is xcframework-only. We actually can't change the test to
look for an xcframework:

    [ -d Carthage/Build/iOS/FirebaseAnalytics.framework ]

because xcframework lookup requires the system to have knowledge of the
`com.apple.xcframework` UTI, and it's only going to have that if it
has Xcode 11+ installed, which our 10.1 CI machines do not.
@elliottwilliams elliottwilliams force-pushed the fix-binary-dependency-xcframework-only branch from 08bd602 to 978f215 Compare June 4, 2021 23:02
@stale
Copy link

stale bot commented Jan 8, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Jan 8, 2022
@stale stale bot closed this Apr 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant