AWS 移动中心集成链接器错误"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用于一个供应商的框架,所以我按照 https://stackoverflow.com/a/16427883/1724059 给出的说明卸载了Cocoapods,并独立安装了Cocoapods中包含的框架。
  2. 删除了链接器标志中的"-ObjC -framework">

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

最新更新