Fabric Crashlytics Advanced Setup中有一个包含多个环境的应用程序部分,建议为每个版本使用单独的组织。
我为每个Build配置创建了3个独立的组织:
我的运行脚本构建阶段中有一个条件,运行带有不同API密钥和构建秘密的Fabric框架脚本,我可以确认条件是正确的,但我仍然没有在我的plist中更新API密钥(我猜是Fabric使用的)。似乎Fabric正在将我的崩溃发送到我使用Fabric应用程序登上的最后一个API密钥/组织。有什么我想念的吗?我知道我可以使用[Crashlytics initWithApiKey:@""]
,但据我所知,这被认为是遗留代码。
这是我的运行脚本构建阶段:
if [ "${CONFIGURATION}" = "Distribution" ]; then
echo "Building Fabric for Distribution."
./Fabric.framework/run dist_api_key dist_build_secret
fi
if [ "${CONFIGURATION}" = "AdHoc" ]; then
echo "Building Fabric for AdHoc."
./Fabric.framework/run adhoc_api_key adhoc_build_secret
fi
if [ "${CONFIGURATION}" = "Debug" ]; then
echo "Building Fabric for Debug."
./Fabric.framework/run debug_api_key debug_build_secret
fi
为了实现这个目的,我做了这个:
MY_CRASHLYTICS_API_KEY
和MY_CRASHLYTICS_BUILD_SECRET
${MY_CRASHLYTICS_API_KEY}
替换Fabric组下的Info.plist中的具体APIKey运行脚本:
echo "Running Crashlytics (${CONFIGURATION})"
"${PODS_ROOT}/Fabric/Fabric.framework/run" ${MY_CRASHLYTICS_API_KEY} ${MY_CRASHLYTICS_BUILD_SECRET}