aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Paul Beusterien <paulbeusterien@google.com>2018-02-22 16:32:45 -0800
committerGravatar GitHub <noreply@github.com>2018-02-22 16:32:45 -0800
commitdb1cf7488ac3ee4bf803b4abb78de8cd638fe453 (patch)
tree3e62571985b0026306db4661e75dc9a35a67a7b5
parentf75267bfd6225605d246d7ebca3eed939d43bc48 (diff)
Initial Carthage distribution instructions (#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.
-rw-r--r--Carthage.md72
-rw-r--r--README.md5
2 files changed, 77 insertions, 0 deletions
diff --git a/Carthage.md b/Carthage.md
new file mode 100644
index 0000000..e111205
--- /dev/null
+++ b/Carthage.md
@@ -0,0 +1,72 @@
+# Firebase Carthage
+
+## Context
+
+This page introduces and provides instructions for an **experimental** Firebase
+[Carthage](https://github.com/Carthage/Carthage) implementation. Based on
+feedback and usage, the Firebase team may decide to make the Carthage
+distribution official.
+
+FirebaseFirestore and FirebaseInvites are not yet supported from Carthage.
+Please [let us know](https://github.com/firebase/firebase-ios-sdk/issues) if you
+have suggestions about how best to distribute Carthage binaries that include
+resource bundles.
+
+## Carthage Installation
+
+[Homebrew](http://brew.sh/) is one way to install Carthage.
+
+```bash
+$ brew update
+$ brew install carthage
+```
+
+See the
+[Carthage page](https://github.com/Carthage/Carthage#installing-carthage) for
+more details and additional installation methods.
+
+## Carthage Usage
+
+- Create a Cartfile with a **subset** of the following components. Note that
+ **FirebaseAnalytics** must always be included.
+```
+binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseABTestingBinary.json"
+binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAdMobBinary.json"
+binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAnalyticsBinary.json"
+binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAuthBinary.json"
+binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseCrashBinary.json"
+binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseDatabaseBinary.json"
+binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseDynamicLinksBinary.json"
+binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMessagingBinary.json"
+binary "https://dl.google.com/dl/firebase/ios/carthage/FirebasePerformanceBinary.json"
+binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseRemoteConfigBinary.json"
+binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseStorageBinary.json"
+```
+- Run `carthage update`
+- Use Finder to open `Carthage/Build/iOS`.
+- Copy the contents into the top level of your Xcode project and make sure
+ they're added to the right build target(s).
+- Add the -ObjC flag to "Other Linker Flags".
+- Make sure that the build target(s) includes your project's `GoogleService-Info.plist`.
+
+## Versioning
+
+Unlike the CocoaPods distribution, the Carthage distribution is like the
+Firebase zip release in that all the Firebase components share the same version.
+Mixing and matching components with different versions may cause linker errors.
+
+## Static Frameworks
+
+Note that the Firebase frameworks in the distribution include static libraries.
+While it is fine to link these into apps, it will generally not work to depend
+on them from wrapper dynamic frameworks.
+
+## Acknowledgements
+
+Thanks to the Firebase community for encouraging this implementation including
+those who have made this the most updated
+[firebase-ios-sdk](https://github.com/firebase/firebase-ios-sdk)
+[issue](https://github.com/firebase/firebase-ios-sdk/issues/9).
+
+Thanks also to those who have already done Firebase Carthage implementations,
+such as https://github.com/soheilbm/Firebase.
diff --git a/README.md b/README.md
index 499d136..2d44c9a 100644
--- a/README.md
+++ b/README.md
@@ -150,6 +150,11 @@ actively developed primarily for iOS. While we can catch basic unit test issues
may be some changes where the SDK no longer works as expected on macOS or tvOS. If you encounter
this, please [file an issue](https://github.com/firebase/firebase-ios-sdk/issues).
+## Carthage
+
+An experimental Carthage distribution is now available. See
+[Carthage](Carthage.md).
+
## Roadmap
See [Roadmap](ROADMAP.md) for more about the Firebase iOS SDK Open Source