体系结构arm64的未定义符号:Xcode11 Swift 5上的未定义符号_UTTypeConformsTo

时间:2019-09-26 14:34:03

标签: ios swift xcode documentation

我正在从事ios项目。目前我没有任何问题。但是,iOS 11.4版本的iPhone 6存在问题。

我已经使用iOS 12.4 iPhone 6设备构建了项目,但没有任何问题。

连接物理设备时,这是一个问题。我的错误如下。

Undefined symbols for architecture arm64:
  "_UTTypeConformsTo", referenced from:
      myapp.Document.uti(_: Swift.String, conformsTo: Swift.String) -> Swift.Bool in Document.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Undefined symbol : _UTTypeConformsTo

我在Document.swift文件中具有此功能。

Document.swift

class Document: UIDocument {


    var fileData: Data?

    var filesText: Data?

    func uti(_ uti: String, conformsTo candidateParent: String) -> Bool {
        return UTTypeConformsTo(uti as CFString, candidateParent as CFString)
    }
...
    override func load(fromContents contents: Any, ofType typeName: String?) throws {
        if let fileType = typeName {
            if fileType == "public.png" || fileType == "public.jpeg" { // .jpg not recognized
                if let fileContents = contents as? Data {
                    fileData = fileContents
                }
            } else if !uti(typeName!, conformsTo: "public.data") {
                throw IXError.fileAcessFailed
            } else {
                if let fileContents = contents as? Data {
                    filesText = fileContents
                }
                print("File type unsupported.")
            }

        } // end if let fileType = typeName

    } // end func load

问题环境:

  • Xcode:11.0版
  • 设备:iPhone 6和11.4 ios版本//报错
  • 设备:iPhone 6和12.4 ios版本//此设备正常运行。

两个设备不同。

到目前为止,还没有问题,但是尝试构建此设备时会出现问题。有什么问题吗?

info

当开发者信息设置为11.4时,似乎发生了错误。但是,还必须能够构建11.4设备。基本解决方案是什么?

请提出许多解决方案。

1 个答案:

答案 0 :(得分:0)

我可以通过将CoreServices框架添加到“目标编辑器”的“创建步骤”选项卡的“库和连接”部分中来解决此问题。这是一个简单的解决方案,但却是一个困难的解决方案。

enter image description here