AWS Mobile Hub 集成链接器错误 "Mach-O"

AWS Mobile Hub Integration Linker Error "Mach-O"

最近我试图将我的应用程序与 AWS 移动中心集成。我严格按照 AWS 说明进行操作,但总是遇到很多 Mach-O 链接器错误,例如 "_OBJC_CLASS_$_FBSDKLoginManager, referenced from:"_OBJC_CLASS_$_AWSLambdaInvoker", referenced from:Linker command failed with exit code 1 (use -v to see invocation)。为了解决这个问题,我尝试单独下载这些提到的框架并将其包含在我的项目中,但是最后一个错误 Linker command failed with exit code 1 (use -v to see invocation) 无法摆脱。

最后我发现问题是由我现有的 Cocoapods 安装与 AWS 框架之间的冲突引起的。或者更具体地说,由于链接器标志中的 -ObjC 标志。我通过执行以下操作解决了问题:

  1. 到目前为止,我只将 Cocoapods 用于一个供应商的框架,因此我按照 中给出的说明卸载了 Cocoapods,并独立安装了 Cocoapods 中包含的框架
  2. 删除了链接器标志中的“-ObjC -framework”

上面的第二步很重要。也许可以继续使用 Cocoapods,但以不同的方式设置链接器标志并成功构建。