•  


firebase-ios-sdk/Carthage.md at main · firebase/firebase-ios-sdk · GitHub
Skip to content

Latest commit

 

History

History
113 lines (92 loc) · 6.06 KB

Carthage.md

File metadata and controls

113 lines (92 loc) · 6.06 KB

Firebase Carthage

Context

This page introduces and provides instructions for an experimental Firebase Carthage distribution. Based on feedback and usage, the Firebase team may decide to make the Carthage distribution official .

Please let us know if you have suggestions or questions.

Carthage Installation

Homebrew is one way to install Carthage.

$ brew update
$ brew install carthage

See the Carthage page for more details and additional installation methods.

Carthage Usage

  • Create a Cartfile with a subset of the following components - choosing the Firebase components that you want to include in your app. Note that FirebaseAnalyticsBinary 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/FirebaseAppCheckBinary.json"
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAppDistributionBinary.json"
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAuthBinary.json"
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseCrashlyticsBinary.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/FirebaseFirestoreBinary.json"
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseFunctionsBinary.json"
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseGoogleSignInBinary.json"
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseInAppMessagingBinary.json"
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMLModelDownloaderBinary.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 .

  • Copy the contents into the top level of your Xcode project and make sure they're added to the right build target(s).

    • To disable AdId support, do not copy GoogleAppMeasurementIdentitySupport.xcframework .
    • If the app does not use any Firebase Swift specific APIs, you do not need to copy any xcframeworks whose name includes "Swift".
  • Add $(OTHER_LDFLAGS) -ObjC flag to "Other Linker Flags" in "Build Settings".

  • Make sure that the build target(s) includes your project's GoogleService-Info.plist ( how to download config file )

  • Delete Firebase.framework from the Link Binary With Libraries Build Phase .

  • If you're including a Firebase component that has resources, copy its bundles into the Xcode project and make sure they're added to the Copy Bundle Resources Build Phase.

  • Please note that you shouldn't add any of the Firebase frameworks to the Carthage build phase ( copy-frameworks ). The frameworks contain static libraries that are linked at build time.

  • Some additional libraries/frameworks may be needed depending on which Firebase frameworks you use, for example: libc++.tbd, sqlite3.tbd, StoreKit.framework, etc. For more information, go here .

  • If you see Swift symbol linkage errors, you may need to add a dummy .swift file to the project to resolve.

  • For Crashlytics, do the following steps to automatically upload your app's symbols so your app's crashes are symbolicated:

    • Download upload-symbols and run . Note: please see the discussion for details why it has to be done manually.
    • Put these in the directory where your .xcodeproj file lives, eg. scripts/run and scripts/upload-symbols
    • Make sure that the files are executable - chmod +x scripts/run scripts/upload-symbols
    • Open your project in Xcode, then select its project file in the left navigator.
    • From the Select a project or target dropdown, select your main build target.
    • Select the Build Phases tab, then click "+" add > New Run Script Phase .
    • Paste the following into your new Run Script, replacing "scripts" with whatever you named your folder: "${PROJECT_DIR}/scripts/run"
    • Add the following dependencies as Input Files to the Run Script:
      • ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
      • ${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}

Versioning

All 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 issue .

Thanks also to those who have already done Firebase Carthage implementations, such as https://github.com/soheilbm/Firebase .

- "漢字路" 한글한자자동변환 서비스는 교육부 고전문헌국역지원사업의 지원으로 구축되었습니다.
- "漢字路" 한글한자자동변환 서비스는 전통문화연구회 "울산대학교한국어처리연구실 옥철영(IT융합전공)교수팀"에서 개발한 한글한자자동변환기를 바탕하여 지속적으로 공동 연구 개발하고 있는 서비스입니다.
- 현재 고유명사(인명, 지명등)을 비롯한 여러 변환오류가 있으며 이를 해결하고자 많은 연구 개발을 진행하고자 하고 있습니다. 이를 인지하시고 다른 곳에서 인용시 한자 변환 결과를 한번 더 검토하시고 사용해 주시기 바랍니다.
- 변환오류 및 건의,문의사항은 juntong@juntong.or.kr로 메일로 보내주시면 감사하겠습니다. .
Copyright ⓒ 2020 By '전통문화연구회(傳統文化硏究會)' All Rights reserved.
 한국   대만   중국   일본