【问题标题】:New Fabric Crashlytics setup with multiple configurations iOS, no dSYM具有多种 iOS 配置的新 Fabric Crashlytics 设置,无 dSYM
【发布时间】:2019-01-11 00:46:41
【问题描述】:

我有一个目标和两种配置(Lite 和 Standard)。两个配置都有单独的包 ID 和应用 ID。在 Fabric 仪表板中,创建了一个包含两个 iOS 应用程序的项目 - 每个应用程序一个配置(也尝试了具有相同结果的单独项目)

根据 Fabric 文档,使用这些行进行设置:

    let fileName:String
    if AppData.isLiteVersion
    {
        fileName = "GoogleService-Info-Lite"
    } else {
        fileName = "GoogleService-Info"
    }

    let filePath = Bundle.main.path(forResource: fileName, ofType: "plist")


    guard let fileopts = FirebaseOptions(contentsOfFile: filePath!)
        else { assert(false, "Couldn't load config file"); return}

    FirebaseApp.configure(options: fileopts)

Lite 配置在控制台中收到大量警告,例如

Analytics requires Google App ID from GoogleService-Info.plist. Your data may be lost. Google App ID has been changed. Original, new ID:

看起来崩溃正在发送到服务器,但 Lite 配置未接收符号 (dSYM)。 Lite 配置与 Standard 相同,因此所有构建设置都相同,但 bundleID 和显示名称除外

Fabric Crashlytics multiple environments for iOS app 的这个人似乎找到了解决方案,但它只适用于旧 Fabric,因为它提到了新 Fabric 中不存在的 info.plist 条目。任何想法如何在新的 Fabric 中解决这个问题?

另外,./Fabric.framework/run <your_api_key_here> 不能说

error: Fabric: Configuration Issue

Fabric API key not valid. Your Fabric run script build phase should  contain your API key:
./Fabric.framework/run INSERT_YOUR_API_KEY INSERT_YOUR_BUILD_SECRET

但我不知道从哪里可以从新 Fabric 获得这个秘密

使用(来自 Cocoapods):Fabric (1.9.0)、Crashlytics (3.12.0)、Firebase (5.15.0)

【问题讨论】:

  • 从哪里获取 Fabric API 密钥? plist 中的那个似乎不起作用..我正在尝试来自网站的各种密钥,并且数据库秘密似乎通过了,但 dSYM 仍然没有到达服务器。所以脚本似乎很好,只是不确定 Fabric API 密钥是什么......

标签: ios configuration swift4 crashlytics google-fabric


【解决方案1】:

我终于找到了解决办法。问题是,默认 dSYM 上传器使用了它无法找到的 GoogleService-Info.plist 文件,因此在构建控制台中显示 unable to find GoogleService-Info.plist in app bundle, dSYMs will not be uploaded.

所以刚刚在 Build Phases 中添加了新的运行脚本

"${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/{SUBFOLDERS}/{SPECIFIC_GOOGLE_SERVICE_INFO_FILE}.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"

参考https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports?authuser=0

【讨论】:

  • 嗨,我也有同样的问题。您能否解释一下您在哪里设置了常量:“SPECIFIC_GOOGLE_SERVICE_INFO_FILE”或者您如何为每个配置设置不同的“plist”路径?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-18
  • 1970-01-01
  • 2018-04-14
  • 2018-11-14
  • 2020-10-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多