Firebase 碰撞分析 | Swift 包管理器 (SPM) 运行 脚本?
Firebase Crashlytics | Swift Package Manager (SPM) Run Script?
我想使用 Swift 包管理器将 Crashlytics
添加到我的应用程序。
现在,由于安装 Firebase
的通常方法是通过 CocoaPods
,因此 tutorial 如何正确设置 Crashlytics
也针对 [=15] 进行了调整=].
换句话说 - 我们应该从教程中复制的 运行 脚本与 SPM 不兼容,正如您在此处看到的那样:
${PODS_ROOT}/FirebaseCrashlytics/run
那么如何使用 SPM 找到 Crashlytics
的文件位置以获得正确的 运行 脚本?
谢谢!
原来它在 DerivedData
文件夹中:
~/Library/Developer/Xcode/DerivedData/YOURAPP-.../SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run
为方便起见,您可以使用构建变量来概括文件夹路径:
${BUILD_DIR%Build/*}SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run
最后,您的 运行 脚本应如下所示:
如果使用非默认名称的 firebase 配置文件,另一件非常重要的事情。
需要这个标志来表示它:
-gsp ${PROJECT_DIR}/PATH-TO-CONFIG/GoogleService-Info-Dev.plist
因此最终的脚本应该是这样的
${BUILD_DIR%Build/*}SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run -gsp ${PROJECT_DIR}/PATH-TO-CONFIG/GoogleService-Info-Dev.plist
其中PATH-TO-CONFIG是项目中firebase配置文件的路径。
感谢您的建议。我无法完成这项工作。我遇到崩溃和以下错误消息:
/Users/[我的项目路径]/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run: 没有那个文件或目录
命令 PhaseScriptExecution 失败,退出代码非零
我不明白为什么它在运行时试图在我的 Xcode 项目文件夹中而不是派生数据文件夹中查找 crashlytics 脚本。
在 Xcode 的菜单栏中 selecting File
→ Add Packages…
添加一个包。
使用存储库的 URL:
搜索 Firebase Apple SDK
https://github.com/firebase/firebase-ios-sdk.git
接下来,将 Dependency Rule 设置为 Up to Next Major Version
并指定 8.10.0 作为下限。
然后,select 添加包。
选择您要在应用中安装的 Firebase 产品。
如果您安装了 FirebaseAnalytics,请将 -ObjC
选项添加到 Build Settings
选项卡中的 Other Linker Flags
。
这对我有用,但我必须更改项目设置。
"${BUILD_DIR%Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
我想使用 Swift 包管理器将 Crashlytics
添加到我的应用程序。
现在,由于安装 Firebase
的通常方法是通过 CocoaPods
,因此 tutorial 如何正确设置 Crashlytics
也针对 [=15] 进行了调整=].
换句话说 - 我们应该从教程中复制的 运行 脚本与 SPM 不兼容,正如您在此处看到的那样:
${PODS_ROOT}/FirebaseCrashlytics/run
那么如何使用 SPM 找到 Crashlytics
的文件位置以获得正确的 运行 脚本?
谢谢!
原来它在 DerivedData
文件夹中:
~/Library/Developer/Xcode/DerivedData/YOURAPP-.../SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run
为方便起见,您可以使用构建变量来概括文件夹路径:
${BUILD_DIR%Build/*}SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run
最后,您的 运行 脚本应如下所示:
如果使用非默认名称的 firebase 配置文件,另一件非常重要的事情。 需要这个标志来表示它:
-gsp ${PROJECT_DIR}/PATH-TO-CONFIG/GoogleService-Info-Dev.plist
因此最终的脚本应该是这样的
${BUILD_DIR%Build/*}SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run -gsp ${PROJECT_DIR}/PATH-TO-CONFIG/GoogleService-Info-Dev.plist
其中PATH-TO-CONFIG是项目中firebase配置文件的路径。
感谢您的建议。我无法完成这项工作。我遇到崩溃和以下错误消息:
/Users/[我的项目路径]/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run: 没有那个文件或目录 命令 PhaseScriptExecution 失败,退出代码非零
我不明白为什么它在运行时试图在我的 Xcode 项目文件夹中而不是派生数据文件夹中查找 crashlytics 脚本。
在 Xcode 的菜单栏中 selecting File
→ Add Packages…
添加一个包。
使用存储库的 URL:
搜索 Firebase Apple SDKhttps://github.com/firebase/firebase-ios-sdk.git
接下来,将 Dependency Rule 设置为 Up to Next Major Version
并指定 8.10.0 作为下限。
然后,select 添加包。
选择您要在应用中安装的 Firebase 产品。
如果您安装了 FirebaseAnalytics,请将 -ObjC
选项添加到 Build Settings
选项卡中的 Other Linker Flags
。
这对我有用,但我必须更改项目设置。
"${BUILD_DIR%Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"