Yak*_* M. 9 xcode ios firebase swift-package-manager xcode-build-settings
我正在将我的 iOS 应用程序的 Firebase 依赖项从 CocoaPods 移动到 Swift Package Manager。
Firebase 的 Crashlytics 需要在构建应用程序时执行脚本(使用运行脚本构建阶段)。回到 CocoaPods 时代,我曾经按照Google 记录的方式调用脚本:"${PODS_ROOT}/FirebaseCrashlytics/run"。
在我切换到 SPM 后,Firebase 文件不再位于${PODS_ROOT}. 我知道我需要的文件现在位于DerivedData文件夹中,特别是在~/Library/Developer/Xcode/DerivedData/MyApp-abcde/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run. 问题是,该MyApp-abcde文件夹不容易被引用。
我发现的一篇 Medium 帖子建议使用${BUILD_DIR}build 变量(关于上面的示例,它将解析为<…>/MyApp-abcde/Build/Products),并调用dirname命令以向上移动目录层次结构。
此 hack 仅适用于运行该应用程序。当我尝试归档它时,${BUILD_DIR}解析到另一个路径,即<…>/MyApp-abcde/Build/Intermediates.noindex/ArchiveIntermediates/MyApp/BuildProductsPath. 我尝试了更多构建变量,例如${SYMROOT}, 代替${BUILD_DIR},但它们也会根据操作产生不同的路径。
那么,问题来了……
有没有办法使用 Xcode 的构建变量可靠地引用我的应用程序的派生数据文件夹的根目录(即~/Library/Developer/Xcode/DerivedData/MyApp-abcde)?
Mof*_*waw 10
你很接近。这应该有效:
${BUILD_DIR%Build/*}SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
956 次 |
| 最近记录: |