【发布时间】:2018-09-03 08:25:04
【问题描述】:
快速概览: 我有一个私人 cocoapod,它通过 Carthage 添加了 Fabric 和 Crashlytics。
我在构建阶段有一个运行脚本:
/usr/local/bin/carthage copy-frameworks
Input files: $(SRCROOT)/Carthage/Build/iOS/Crashlytics.framework
Output files: $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Crashlytics.framework
在我的 podspec 我有:
s.script_phases = [
{
:name => 'Fabric Setup',
:script => '"${PODS_TARGET_SRCROOT}/Carthage/Build/iOS/Fabric.framework/run" {key} {secret}',
:execution_position => :after_compile
}
]
到目前为止一切顺利。
在我的应用程序项目中,我使用的是 fastlane。
crashlytics(
crashlytics_path: "...",
api_token: "...",
build_secret: "...",
groups: "..."
)
我正在尝试为 crashlytics_path 设置什么,以便它指向我的私人 cocoapod carthage 生成的 Crashlytics.framework。
项目文件夹结构:
我的私人吊舱:
/Users/{MY_USER}/Repositories/Libs/{PRIVATE_POD_LIB}
私有 Pod 中的 Crashlytics 位置:
/Users/{MY_USER}/Repositories/Libs/{PRIVATE_POD_LIB}/Carthage/Build/iOS/Crashlytics.framework
拉入我的私人 pod 的应用程序:
/Users/{MY_USER}/Repositories/Apps/{MY_APP}
如果我将 Fastlane 中的 crashlytics_path 编辑为此它可以工作:
crashlytics_path:
"/Users/{MY_USER}/Repositories/Libs/{PRIVATE_POD_LIB}/Carthage/Build/iOS/Crashlytics.framework",
但显然我不想将完整路径与我的用户一起放入其中,因为它需要在 Jenkins 服务器和其他用户机器上工作。
任何帮助表示赞赏。
谢谢
【问题讨论】:
标签: ios xcode crashlytics fastlane carthage