Official
Carthage
README
Checkout this branch and then applay to carthage master branch, then make install
.
#First the stats:
git apply --stat pathces/0.30.1.patch
#Then a dry run to detect errors:
git apply --check pathces/0.30.1.patch
#Finally, you can use git am to apply your patch: it allows you to sign off an applied patch.
#This can be useful for later reference.
git am --signoff < 0.30.1.patch
- config build options in
Carthage.private
- speed up you app's launching by using
generate-fast-boot-xcconfig
- can override repo to local project
- show cost time
- Quit typing config for
Carthage
every time you build your dependencies - Manual manager dependencies repositories by using
override
feature
Cartfile
github "Tencent/WCDB"
Checkout WCDB
and it's submodules
git clone https://github.com/Tencent/wcdb.git
cd wcdb
git submodule update --init --recursive
The Cartfile.private
looks like, overriding submodule url.
.git/modules/{name}
.
#cache-builds: true #configuration: Release #new-resolver: true #platforms: iOS #override: wcdb, /path/to/wcdb #override: openssl, /path/to/wcdb/openssl #override: sqlcipher, /path/to/wcdb/sqlcipher
You also can skip building certain scheme in repo
#skip: wcdb, WCDB.xcworkspace, WCDB
#skip: wcdb, WCDB.xcworkspace, sqlcipher.swift
#skip: wcdb, WCDB.xcworkspace, sqliterk.swift
Configuration Template(write in Cartfile.private
)
#cache-builds: true #default false
#verbose: false #default false
#configuration: Release #Debug or other
#new-resolver: true #default false
#use-ssh: false #default false
#use-submodules: false #default false
#platforms: iOS #macOS, watchOS, tvOS ,remove for all platform
#skip: Alamofire, Alamofire.xcworkspace, Alamofire iOS
#override: Alamofire, ../Alamofire
#generate-fast-boot-xcconfig: false #default false, for iOS
#exclude-path: #string, exclude xcconfig arch o file path contain this string
Can just config Name
parameter , all build of the Dependency
will being skipped.
Name
: first parameter,Dependency
's propertyname
, when using local path for repo address, last component will treat asname
, such as/path/to/{name}
,https://github.com/xx/{name}.git
ProjectName
: second parameter, using with third parameter, the name of projectSchemeName
: third parameter, the scheme name
can override dependency or git submodule
Name
: see aboveAddress
: new git address for theDependency
, can be local or remote
Integrated Carthage/FastBoot/Carthage.xcconfig
to your project
For detail see RocketBoot
Exclude some path that you can manually integrate framework, not merging their compiled files.
Such as
Realm
#exclude-path: Realm.build/Objects-normal
Directly include compiled files for
Objective-C
targetRealm
will crash at launch.(finding out why)You must integrate the
Realm.framework
to your project.But you can left compiled files generated by scheme
RealmSwift