Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what's the purpose of "--no-use-binaries" in carthage

Tags:

ios

carthage

As titled, what's the purpose of "--no-use-binaries" in carthage command line? if missing this, what could happen and what's the benefit to have this?

like image 444
LiangWang Avatar asked Jan 03 '17 11:01

LiangWang


People also ask

What does Carthage bootstrap do?

The bootstrap command downloads and builds the exact versions of your dependencies specified in Cartfile. resolved. carthage update would update the project to use the newest compatible versions of each dependency, which may not be desirable.

How do you update Carthage dependencies?

If you've modified your Cartfile, or you want to update to the newest versions of each framework (subject to the requirements you've specified), simply run the carthage update command again. If you only want to update one, or specific, dependencies, pass them as a space-separated list to the update command.

What is Cartfile resolved?

The Cartfile. resolved file ensures that any given commit of a Carthage project can be bootstrapped in exactly the same way, every time. For this reason, you are strongly recommended to commit this file to your repository.

What is Carthage software?

Carthage is a decentralized dependency manager for Swift and Objective-C Cocoa projects. It is open-source and built with Swift by the open-source community.


1 Answers

Sometimes the prebuilt frameworks are corrupted in the dependencies’ project, so you need to build them locally.

Also, those prebuilt frameworks don’t support step-by-step debugging, so unless you build them locally, you won’t be able to use this feature with your dependencies.

Using --no-use-binaries compiles the projects locally, using your compiler.

Executing the update command might occasionally produce an error when the Swift language updates to a newer version while the dependency is built for an older version of Swift (even if it’s still compatible). You can solve such scenarios by using this flag.

One disadvantage is that it takes longer to compile the project with the --no-use-binaries flag. Without the flag, you’re requesting the prebuilt framework if it’s available. For more information you can see this Carthage issue on GitHub.

Hope I cleared up your doubts.

like image 127
Cristian Erik Ames Masek Avatar answered Oct 17 '22 15:10

Cristian Erik Ames Masek