繁体   English   中英

扩展名为“架构arm64的未定义符号”

[英]“Undefined symbols for architecture arm64” on extension

我的应用程序构建正常,但现在我正在尝试为Archive构建,我收到此错误:

Undefined symbols for architecture arm64:
  "type metadata for (extension in TwIM):__ObjC.NSData.ImageType", referenced from:
      static TwIM.ImageCache.imagePath (imageURL : __ObjC.NSURL, imageType : (extension in TwIM):__ObjC.NSData.ImageType?) -> Swift.String? in ImageCache.o
      function signature specialization <Arg[0] = Owned To Guaranteed and Exploded> of static TwIM.ImageCache.imagePath (identifier : Swift.String, imageType : (extension in TwIM):__ObjC.NSData.ImageType?) -> Swift.String? in ImageCache.o
      function signature specialization <Arg[0] = Owned To Guaranteed and Exploded> of static TwIM.ImageCache.imageData (identifier : Swift.String, imageType : (extension in TwIM):__ObjC.NSData.ImageType?) -> __ObjC.NSData? in ImageCache.o
      function signature specialization <Arg[0] = Owned To Guaranteed and Exploded> of static TwIM.ImageCache.image (identifier : Swift.String, imageType : (extension in TwIM):__ObjC.NSData.ImageType?) -> Swift.AnyObject? in ImageCache.o
      function signature specialization <Arg[0] = Owned To Guaranteed, Arg[1] = Owned To Guaranteed and Exploded> of static TwIM.ImageCache.saveImage (imageData : __ObjC.NSData, identifier : Swift.String, imageType : (extension in TwIM):__ObjC.NSData.ImageType?) -> Swift.Bool in ImageCache.o
      function signature specialization <Arg[0] = Owned To Guaranteed and Exploded> of static TwIM.ImageCache.removeImage (identifier : Swift.String, imageType : (extension in TwIM):__ObjC.NSData.ImageType?) -> () in ImageCache.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

它所指的是我在NSData上的扩展,其中包含一个枚举:

extension NSData {
  enum ImageType: String {
    case jpg = "jpg"
    case png = "png"
    case gif = "gif"
  }
}

我不知道为什么会引起这个问题。 我已经清理过,并清除了一些人建议的派生数据。

您使用哪个Xcode和哪个Swift版本?

我首先使用Xcode 8和Swift 3 beta 6发现了这个错误消息。我看了一下我导入的内容,但它只是所有文件的Cocoa。 有这样的几个错误,几乎都属于一个非常大的函数。 如果选择了Global-Module-Optimization,则只会发生错误,无论是运行还是归档。

所以我把这个功能划分为6个较小的部分来看,哪一个引起了问题。 使功能变小后,只剩下这种错误。 所以我认为它是一个链接器/优化器 - 在我的情况下问题,因为代码是相同的,只分为几个小函数。

请尝试选择Single-File-Optimization for Release并尝试存档。 错误会再次出现还是您成功了?

我想,这不会是最终版本中的问题。

我也有这个问题。 我通过以下操作解决了这个问题:1。转到构建设置。 2.搜索启用testablility。 2.为调试设置否。

尝试摆脱枚举。 这就是为我解决的问题。 也许扩展中的枚举存在问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM