【问题标题】:Cannot find protocol declaration for 'CrashlyticsDelegate' when compiling Objective C++ file编译目标 C++ 文件时找不到“CrashlyticsDelegate”的协议声明
【发布时间】:2018-10-02 00:05:14
【问题描述】:

示例项目:https://github.com/mike011/CrashlyticsDelegateExample

重现步骤:

  1. 创建一个新的 Swift 项目
  2. 通过 Podfile 添加 Crashlytics 并确保 use_frameworks!已列出
  3. 创建以下扩展:

extension AppDelegate: CrashlyticsDelegate { func crashlyticsDidDetectReport(forLastExecution report: CLSReport) { } }

  1. 添加一个目标 C++ 文件。
  2. 将以下导入添加到新文件中

#import <UIKit/UIKit.h> #import "CrashlyticsSampleApp-Swift.h"

  1. 编译

错误“找不到 'CrashlyticsDelegate' 的协议声明是从 'CrashlyticsSampleApp-Swift.h' 文件中产生的。

环境:MacOS 10.14 和 xCode 9.4

【问题讨论】:

    标签: ios swift crashlytics objective-c++ google-fabric


    【解决方案1】:

    您将需要为 obj-c/swift 创建一个桥接头并向其添加以下导入:

    #import <Crashlytics/Crashlytics.h>
    

    我还没有测试过,但是如果您不需要桥接头,您可能可以通过将该导入添加到您的示例 objc 文件 (ObjectiveCMMFile.mm) 来摆脱它(如果您能确认会很棒)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多