iOS 应用程序的 Fabric Crashlytics 多个环境
Fabric Crashlytics multiple environments for iOS app
Fabric Crashlytics Advanced Setup 中有一个具有多个环境的应用程序部分,建议为每个版本使用单独的组织。
我为每个构建配置创建了 3 个独立的组织:
- 我的应用
- MyApp(调试)
- MyApp(临时)
我在 运行 脚本构建阶段 中有一个条件,它使用不同的 API 键运行 Fabric 框架脚本s 和 Build Secrets 并且我可以确认条件被正确命中,但我仍然没有在我的 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
- 替换具体的 API在 Fabric 组下的 Info.plist 中键入
${MY_CRASHLYTICS_API_KEY}
- 将您根据环境创建的组织中的相应 API 密钥s 和 Build Secrets 添加到 Build Settings 下步骤 1
中的密钥
- 将 运行 脚本阶段的脚本更改为如下所示
- 通过 Crashlytics Mac 小部件配置应用程序。这也不是一个容易的部分。仅当应用处于 运行 调试配置时,它们才会添加到您的组织中。原因是该应用程序应该保持一段时间并 运行ning,以便 Crashlytics 可以追踪到它。这要求我更改 Api Keys 和 Build Secrets,脚本和 Build Settings 密钥,并注册应用程序。之后,我能够更改 Info.plist 以使用构建设置中的环境变量。
运行脚本:
echo "Running Crashlytics (${CONFIGURATION})"
"${PODS_ROOT}/Fabric/Fabric.framework/run" ${MY_CRASHLYTICS_API_KEY} ${MY_CRASHLYTICS_BUILD_SECRET}
Fabric Crashlytics Advanced Setup 中有一个具有多个环境的应用程序部分,建议为每个版本使用单独的组织。
我为每个构建配置创建了 3 个独立的组织:
- 我的应用
- MyApp(调试)
- MyApp(临时)
我在 运行 脚本构建阶段 中有一个条件,它使用不同的 API 键运行 Fabric 框架脚本s 和 Build Secrets 并且我可以确认条件被正确命中,但我仍然没有在我的 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
- 替换具体的 API在 Fabric 组下的 Info.plist 中键入
${MY_CRASHLYTICS_API_KEY}
- 将您根据环境创建的组织中的相应 API 密钥s 和 Build Secrets 添加到 Build Settings 下步骤 1 中的密钥
- 将 运行 脚本阶段的脚本更改为如下所示
- 通过 Crashlytics Mac 小部件配置应用程序。这也不是一个容易的部分。仅当应用处于 运行 调试配置时,它们才会添加到您的组织中。原因是该应用程序应该保持一段时间并 运行ning,以便 Crashlytics 可以追踪到它。这要求我更改 Api Keys 和 Build Secrets,脚本和 Build Settings 密钥,并注册应用程序。之后,我能够更改 Info.plist 以使用构建设置中的环境变量。
运行脚本:
echo "Running Crashlytics (${CONFIGURATION})"
"${PODS_ROOT}/Fabric/Fabric.framework/run" ${MY_CRASHLYTICS_API_KEY} ${MY_CRASHLYTICS_BUILD_SECRET}