Skip to content

Commit fc9d558

Browse files
authored
Initial Carthage distribution instructions (firebase#821)
I couldn't find a way to get the Carthage installer to install Resources, so withdrawing Firestore and Invites. The other 11 components passed testing.
1 parent 15ff187 commit fc9d558

File tree

2 files changed

+77
-0
lines changed

2 files changed

+77
-0
lines changed

Carthage.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Firebase Carthage
2+
3+
## Context
4+
5+
This page introduces and provides instructions for an **experimental** Firebase
6+
[Carthage](https://github.com/Carthage/Carthage) implementation. Based on
7+
feedback and usage, the Firebase team may decide to make the Carthage
8+
distribution official.
9+
10+
FirebaseFirestore and FirebaseInvites are not yet supported from Carthage.
11+
Please [let us know](https://github.com/firebase/firebase-ios-sdk/issues) if you
12+
have suggestions about how best to distribute Carthage binaries that include
13+
resource bundles.
14+
15+
## Carthage Installation
16+
17+
[Homebrew](http://brew.sh/) is one way to install Carthage.
18+
19+
```bash
20+
$ brew update
21+
$ brew install carthage
22+
```
23+
24+
See the
25+
[Carthage page](https://github.com/Carthage/Carthage#installing-carthage) for
26+
more details and additional installation methods.
27+
28+
## Carthage Usage
29+
30+
- Create a Cartfile with a **subset** of the following components. Note that
31+
**FirebaseAnalytics** must always be included.
32+
```
33+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseABTestingBinary.json"
34+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAdMobBinary.json"
35+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAnalyticsBinary.json"
36+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAuthBinary.json"
37+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseCrashBinary.json"
38+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseDatabaseBinary.json"
39+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseDynamicLinksBinary.json"
40+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMessagingBinary.json"
41+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebasePerformanceBinary.json"
42+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseRemoteConfigBinary.json"
43+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseStorageBinary.json"
44+
```
45+
- Run `carthage update`
46+
- Use Finder to open `Carthage/Build/iOS`.
47+
- Copy the contents into the top level of your Xcode project and make sure
48+
they're added to the right build target(s).
49+
- Add the -ObjC flag to "Other Linker Flags".
50+
- Make sure that the build target(s) includes your project's `GoogleService-Info.plist`.
51+
52+
## Versioning
53+
54+
Unlike the CocoaPods distribution, the Carthage distribution is like the
55+
Firebase zip release in that all the Firebase components share the same version.
56+
Mixing and matching components with different versions may cause linker errors.
57+
58+
## Static Frameworks
59+
60+
Note that the Firebase frameworks in the distribution include static libraries.
61+
While it is fine to link these into apps, it will generally not work to depend
62+
on them from wrapper dynamic frameworks.
63+
64+
## Acknowledgements
65+
66+
Thanks to the Firebase community for encouraging this implementation including
67+
those who have made this the most updated
68+
[firebase-ios-sdk](https://github.com/firebase/firebase-ios-sdk)
69+
[issue](https://github.com/firebase/firebase-ios-sdk/issues/9).
70+
71+
Thanks also to those who have already done Firebase Carthage implementations,
72+
such as https://github.com/soheilbm/Firebase.

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,11 @@ actively developed primarily for iOS. While we can catch basic unit test issues
150150
may be some changes where the SDK no longer works as expected on macOS or tvOS. If you encounter
151151
this, please [file an issue](https://github.com/firebase/firebase-ios-sdk/issues).
152152

153+
## Carthage
154+
155+
An experimental Carthage distribution is now available. See
156+
[Carthage](Carthage.md).
157+
153158
## Roadmap
154159

155160
See [Roadmap](ROADMAP.md) for more about the Firebase iOS SDK Open Source

0 commit comments

Comments
 (0)