【问题标题】:update to Xcode 9 with errors更新到 Xcode 9 出现错误
【发布时间】:2017-09-26 17:13:43
【问题描述】:

我最近更新到 Xcode 9,当我构建我的应用程序时,我收到 Apple Mach-0 Linker (iD) 错误。在更新项目之前工作得很好。错误如下所示:

Undefined symbols for architecture arm64:
"__T0So22AVCapturePhotoSettingsC12AVFoundation01_abC16SwiftNativeTypesACWP", referenced from:
 __T09Lifelapse20CameraViewControllerC14capturePictureyyF in CameraViewController.o
"__T012AVFoundation39_AVCapturePhotoSettingsSwiftNativeTypesPAAE016availablePreviewc11PixelFormatG0SaySo8NSNumberCGfg", referenced from:
 __T09Lifelapse20CameraViewControllerC14capturePictureyyF in CameraViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我不确定如何解决此错误,谢谢。

【问题讨论】:

  • 您是否清除了 XCode 缓存或清除了特定项目 DerivedData 。例如rm -rf ~/Library/Developer/Xcode/DerivedData/
  • 感谢您的快速回复。刚刚从该项目中删除了派生数据,仍然显示 3 个错误。
  • 另外,如果使用 3rd 方库,它可能没有使用正确的 arm 选项构建。
  • @AndrewHarris 清除 CocoaPods 缓存并重新安装依赖项 CocoaPods 库。
  • 好的。我会试试这个。非常感谢!

标签: ios swift xcode9


【解决方案1】:

有一个错误的 Xcode 9 错误苹果。他们将一些扩展设置为私有。你必须在这些方法调用上加上__

示例:

尝试更改let previewPixelType = settings.availablePreviewPhotoPixelFormatTypes.first!

let previewPixelType = settings.__availablePreviewPhotoPixelFormatTypes.first!

***Apple 不小心将一些 AVFoundation API 外部协议设为私有,因此在访问它们的方法之前有 2 个取消标记 _。

来源:https://forums.developer.apple.com/thread/86810#259270

【讨论】:

  • 这也发生在我身上。如果对您有用,您可以将我的答案标记为正确答案。
猜你喜欢
  • 2015-10-17
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多