最近我试图将我的应用程序与 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
标志。我通过执行以下操作解决了问题:
- 到目前为止,我只将Cocoapods用于一个供应商的框架,所以我按照 https://stackoverflow.com/a/16427883/1724059 给出的说明卸载了Cocoapods,并独立安装了Cocoapods中包含的框架。
- 删除了链接器标志中的"-ObjC -framework">
上面的第二步非常重要。有可能可以继续使用 Cocoapods,但以不同的方式设置链接器标志并成功构建。